gpt4 book ai didi

java - 在 Java 8 中将匿名内部方法转换为 Lambda

转载 作者:行者123 更新时间:2023-11-29 10:09:59 26 4
gpt4 key购买 nike

如何使用 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 不断抛出错误...

最佳答案

简单地删除新的Runnable:

Thread t1 = new Thread(() -> { /* body */ });

您可能想考虑将该主体拉出到一个“真正的”方法中,并改为使用方法引用:

static void doSomething() { /* body */ }

public static void main(String[] args) {
Thread t1 = new Thread(SampleApp::doSomething);
}

大的 lambda 体不是特别可读。

关于java - 在 Java 8 中将匿名内部方法转换为 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43622061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com