为了账号安全,请及时绑定邮箱和手机立即绑定

替换匿名 new Runnable() 的 lambda 如何工作?

替换匿名 new Runnable() 的 lambda 如何工作?

哈士奇WWW 2021-12-10 17:04:24
当您编写匿名Runnable 时,例如:Thread producer = new Thread(new Runnable() {      @Override      public void run() {        // do something      }});IntelliJ 建议用以下 lambda 替换它:Thread producer = new Thread(() -> {       // do something    }});效果一样好。这是如何工作的?特别是:使用的构造函数仍然是Thread(Runnable target),但 lambda 中似乎没有任何内容表明它是一个 Runnable。为什么@Override public void run()突然不再需要了?
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超6个赞

如果您的匿名类只有一种方法,您可以将其实现为 lambda 表达式。您在这里作为 lambda 传递的是该run方法的实现。Lambda 表达式让您可以更紧凑地表达单一方法类的实例。


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 416 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号