-1
什么是Lambda表达式比匿名类更好? 除了使代码体积更小且避免了关键字的混乱“这”像在本例中:Lambda表达式好处
public class TestClass {
public String variable = "Class Level Variable";
{
new Thread(new Runnable() {
String variable = "Runnable Class Member";
public void run() {
System.out.println("->" + this.variable);
}
}).start();
}
public static void main(String[] args){
TestClass a = new TestClass(); // prints "Runnable Class Member"
}
}
然而在:
public class TestClass {
public String variable = "Class Level Variable";
{
Runnable run =()->{String variable = "Runnable Class Member";
System.out.println("->" + this.variable);
};
new Thread(run).start();
}
public static void main(String[] args){
TestClass a = new TestClass(); // prints "Class Level Member"
}
}
除此之外,也看不出有什么区别。你做?
你的问题是什么? – BMac
在什么lambda表达式比匿名类更好 –
其中之一,你没有得到每个lambda表达式一个编译的类文件;另外,JIT可以在呼叫站点不在时优化lambda,比匿名类更好。 – fge