raja

raja

379 Articles Published

Articles by raja

Page 13 of 38

What are the constructor references in Java?

raja
raja
Updated on 10-Jul-2020 408 Views

A constructor reference is just like a method reference except that the name of the method is "new". It can be created by using the "class name" and the keyword "new" with the following syntax.Syntax :: newIn the below example, we are using java.util.function.Function. It is a functional interface whose single abstract method is the apply(). The Function interface represents an operation that takes single argument T and returns a result R.Exampleimport java.util.function.*; @FunctionalInterface interface MyFunctionalInterface { Employee getEmployee(String name); } class Employee { private String name; public Employee(String name) ...

Read More

How to implement the listeners using lambda expressions in Java?

raja
raja
Updated on 10-Jul-2020 2K+ Views

When we are using a lambda expression for java listener, we do not have to explicitly implement the ActionListener interface. Instead, we can use the below syntax.Syntaxbutton.addActionListener(e -> { // some statements });An ActionListener interface defines only one method actionPerformed(). It is a functional interface which means that there's a place to use lambda expressions to replace the code.Exampleimport java.awt.*; import java.awt.event.*; import javax.swing.*; public class LambdaListenerTest extends JFrame { public static void main(String args[]) { new LambdaListenerTest(); } private JButton button; ...

Read More

How can we pass lambda expression in a method in Java?

raja
raja
Updated on 10-Jul-2020 4K+ Views

A lambda expression passed in a method that has an argument of type of functional interface. If we need to pass a lambda expression as an argument, the type of parameter receiving the lambda expression argument must be of a functional interface type.In the below example, the lambda expression can be passed in a method which argument's type is "TestInterface". Exampleinterface TestInterface {    boolean test(int a); } class Test {    // lambda expression can be passed as first argument in the check() method    static boolean check(TestInterface ti, int b) {       return ti.test(b);    } } public class ...

Read More

Differences between Lambda Expressions and Closures in Java?

raja
raja
Updated on 10-Jul-2020 3K+ Views

Java supports lambda expressions but not the Closures. A lambda expression is an anonymous function and can be defined as a parameter. The Closures are like code fragments or code blocks that can be used without being a method or a class. It means that Closures can access variables not defined in its parameter list and also assign it to a variable.Syntax([comma seperated parameter-list]) -> {body}In the below example, the create() method has a local variable "value" with a short life and disappears when we exit the create() method. This method returns the closure to the caller in the main() ...

Read More

How to use a final or effectively final variable in lambda expression in Java?

raja
raja
Updated on 10-Jul-2020 2K+ Views

The effectively final variables refer to local variables that are not declared final explicitly and can't be changed once initialized. A lambda expression can use a local variable in outer scopes only if they are effectively final.Syntax(optional) (Arguments) -> bodyIn the below example, the "size" variable is not declared as final but it's effective final because we are not modifying the value of the "size" variable.Exampleinterface Employee { void empData(String empName); } public class LambdaEffectivelyFinalTest { public static void main(String[] args) { int size = 100; ...

Read More

How to create a thread using lambda expressions in Java?

raja
raja
Updated on 10-Jul-2020 7K+ Views

The lambda expressions are introduced in Java 8. It is one of the most popular features of Java 8 and brings functional programming capabilities to Java. By using a lambda expression, we can directly write the implementation for a method in Java.In the below program, we can create a thread by implementing the Runnable interface using lamda expression. While using the lambda expressions, we can skip the new Runnable() and run() method because the compiler knows that Thread object takes a Runnable object and that contains only one method run() that takes no argument.Examplepublic class LambdaThreadTest { ...

Read More

Differences between anonymous class and lambda expression in Java?

raja
raja
Updated on 10-Jul-2020 3K+ Views

Anonymous class is an inner class without a name, which means that we can declare and instantiate class at the same time. A lambda expression is a short form for writing an anonymous class. By using a lambda expression, we can declare methods without any name.Anonymous class vs Lambda ExpressionAn anonymous class object generates a separate class file after compilation that increases the size of a jar file while a lambda expression is converted into a private method. It uses invokedynamic bytecode instruction to bind this method dynamically, which saves time and memory.We use this keyword to represent the current ...

Read More

How to implement lambda expression without creating an anonymous class in Java?

raja
raja
Updated on 10-Jul-2020 369 Views

A lambda expression is an anonymous function without having any name and does not belong to any class that means it is a block of code that can be passed around to execute.Syntax(parameter-list) -> {body}We can implement a lambda expression without creating an anonymous inner class in the below program. For the button's ActionListener interface, we need to override one abstract method addActionListener() and implement the block of code using the lambda expression.Exampleimport java.awt.*; import java.awt.event.*; import javax.swing.*; public class LambdaExpressionButtonTest extends JFrame { private JButton btn; public LambdaExpressionButtonTest() { ...

Read More

Are lambda expressions objects in Java?

raja
raja
Updated on 10-Jul-2020 2K+ Views

Yes, any lambda expression is an object in Java. It is an instance of a functional interface. We have assigned a lambda expression to any variable and pass it like any other object.Syntax(parameters) -> expression or (parameters) -> { statements; }In the below example, how a lambda expression has assigned to a variable and how it can be invoked.Example@FunctionalInterface interface ComparatorTask { public boolean compare(int t1, int t2); } public class LambdaObjectTest { public static void main(String[] args) { ...

Read More

What are the scoping rules for lambda expressions in Java?

raja
raja
Updated on 10-Jul-2020 647 Views

There are different scoping rules for lambda expression in Java. In lambda expressions, this and super keywords are lexically scoped means that this keyword refers to the object of the enclosing type and the super keyword refers to the enclosing superclass. In the case of an anonymous class, they are relative to the anonymous class itself. Similarly, local variables declared in lambda expression conflicts with variables declared in the enclosing class. In the case of an anonymous class, they are allowed to shadow variables in the enclosing class.Example@FunctionalInterface interface TestInterface { int calculate(int x, int y); } ...

Read More
Showing 121–130 of 379 articles
« Prev 1 11 12 13 14 15 38 Next »
Advertisements