-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