简单的 lambda 表达式求助

2021 年 3 月 26 日
 Ununennium
//匿名内部类:
Runnable r = new Runnable() {
            @Override
            public void run() {
                
            }
        };
        
        
//改写成 lambda 表达式:
Runnable r = new Runnable(()->{});

无法通过编译,提示“'Runnable' is abstract; cannot be instantiated”


请问问题出在哪,非常感谢~
1855 次点击
所在节点    问与答
5 条回复
nthin0
2021 年 3 月 26 日
Runnable r = () -> {};
Ununennium
2021 年 3 月 26 日
@nthin0 谢谢大佬,但是为啥不用写 new runnable()啊
ninjachen
2021 年 3 月 26 日
因为它不是 lambda 表达式
brust
2021 年 3 月 27 日
Runnable r = ()->{};
Thread t = new Thread(new Runnable() {
@Override
public void run() {

}
});
Thread t = new Thread(()->{});
zm8m93Q1e5otOC69
2021 年 3 月 29 日
不用加 new 了吧 ()->{}就是 new 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765506

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX