What is the correct syntax for a lambda expression with no parameters that returns a fixed value?
Answer: B
When a lambda has no parameters, empty parentheses () are required before the arrow. Options A and D are syntactically incorrect.
Q.882Easy
Given: Function<Integer, Integer> f = x -> x * 2; Integer result = f.apply(5); What is the value of result?
Answer: B
The lambda expression x -> x * 2 multiplies the input by 2. When applied to 5, it returns 10.
Q.883Medium
Which stream operation uses a lambda expression to transform elements from one type to another?
Answer: B
map() is used to transform elements. It takes a Function lambda that converts each element from one type/value to another.
Q.884Hard
Consider a scenario where you need to sort a list of strings by length. Which lambda expression is most appropriate for Comparator?
Answer: D
Both expressions correctly sort by length. Option B uses Integer.compare (safer for int overflow), while Option C uses direct subtraction. Both work correctly here.
Q.885Hard
What is the difference between a lambda expression and an anonymous inner class in Java?
Answer: D
Lambda expressions can only be used with functional interfaces (single abstract method), whereas anonymous classes can implement any interface. Lambda expressions are also more concise.
Advertisement
Q.886Hard
In the context of exception handling with lambda expressions, what happens if a lambda body throws a checked exception?
Answer: B
If a lambda body throws a checked exception, it must be declared in the functional interface's method signature. Otherwise, compilation will fail.
Q.887Hard
Which of the following best demonstrates the use of Optional with lambda expressions for safe null handling?
Answer: A
Optional with map() using a lambda expression is the functional programming approach. It's safe, readable, and chains operations effectively. Options B, C, and D are imperative approaches.
Q.888Easy
Which functional interface is used to create a lambda expression that takes two integers and returns a boolean value?
Answer: A
BiPredicate<T, U> is a functional interface that takes two parameters and returns a boolean. This matches the requirement of taking two integers and returning a boolean value.
Q.889Easy
What will be the output of the following code?
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.stream().filter(n -> n % 2 == 0).forEach(System.out::println);
Answer: B
The filter operation with lambda expression (n -> n % 2 == 0) filters even numbers only. So 2 and 4 are printed, each on a new line due to println.
Q.890Medium
Which of the following lambda expressions is INVALID in Java?
Answer: D
In a lambda expression, if the body uses curly braces, 'return' keyword is required. But without curly braces, 'return' keyword cannot be used. Option D is invalid because it has 'return' without curly braces.
Q.891Medium
A stream processes a list of strings and applies a lambda to convert them to uppercase. Which intermediate operation should be used?
Answer: B
The map() intermediate operation transforms each element using the provided lambda function. filter() returns boolean, peek() doesn't transform, and collect() is a terminal operation. map() is the correct choice for transformation.
Q.892Medium
Consider the following code:
List<String> fruits = Arrays.asList("apple", "banana", "cherry");
fruits.removeIf(s -> s.length() > 5);
What will be the contents of 'fruits' list after execution?
Answer: B
removeIf() removes all elements that satisfy the lambda predicate. Strings with length > 5 are "banana" (6 chars) and "cherry" (6 chars). Only "apple" (5 chars) remains as its length is not greater than 5.
Q.893Hard
What is the return type of a lambda expression used with IntStream.range(1, 5).map(x -> x * 2)?
Answer: C
map() is an intermediate operation that returns an IntStream. The lambda expression (x -> x * 2) transforms each int, but map() itself returns IntStream, not the transformed value type.
Q.894Easy
Which annotation is used to mark a class as a Spring Bean in the latest Spring Framework?
Answer: B
@Component is a generic stereotype annotation for any Spring-managed component. @Bean is used on methods, while @Service and @Controller are specialized versions of @Component.
Q.895Easy
What is the primary purpose of Dependency Injection (DI) in Spring Framework?
Answer: B
DI reduces coupling by injecting dependencies rather than creating them internally, making code more testable and maintainable.
Q.896Easy
Which of the following is NOT a valid Spring bean scope in Spring 5.x+?
Answer: D
Valid scopes are singleton, prototype, request, session, application, and websocket. 'eternal' is not a valid scope.
Q.897Easy
What does @Autowired annotation do in Spring?
Answer: A
@Autowired performs type-based dependency injection. Spring looks for a bean of the required type and injects it automatically.
Q.898Easy
Which XML element is used to define a bean in Spring XML configuration?
Answer: B
The <bean> element is the standard XML element used in applicationContext.xml to define Spring beans.
Q.899Medium
A Spring application requires constructor-based dependency injection for a mandatory dependency. Which approach is best?
Answer: B
Constructor-based DI ensures mandatory dependencies are provided at object creation time and is considered a best practice for required dependencies.
Q.900Medium
What is the default scope of a Spring Bean?
Answer: C
By default, Spring creates beans as singletons - one instance per application context, shared across the entire application.