在Java 8中将匿名内部方法转换为Lambda
如何使用Java 8将以下代码(特别是public void run()方法)转换为lambda
public class SampleApp {
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("Hello " + i);
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
t1.start();
}
}
尝试过:
Thread t1 = new Thread(new Runnable() -> {
for (int i = 0; i < 10; i++) {
System.out.println("Hello " + i);
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
e.printStackTrace();
}
};
);
但Eclipse不断抛出错误
# 1 楼答案
嗨,如果你想在线,你可以这样做
# 2 楼答案
只需删除
new Runnable
:您可能想考虑将该实体拉入“真实”的方法中,并使用方法引用代替:
大的lambda主体不是特别可读