Java ()->;的含义是什么;System.out.println(“完成”)?
在link中,有一个代码如下所示:-Java ()->;的含义是什么;System.out.println(“完成”)?,java,concurrency,lambda,java-8,Java,Concurrency,Lambda,Java 8,在link中,有一个代码如下所示:- exec.schedule( ()-> System.out.println("done"), 1, TimeUnit.SECONDS ); ()->的含义是什么 我签入了eclipse,它不允许。但是线程编写器的意图是什么呢?这是JDK8的语法 它与 这是的Java8语法 ScheduledThreadPoolExecutor#exec(..)方法需要一个Runnable参数Runnable是一个函数接口,因为它只包含一个abst
exec.schedule( ()-> System.out.println("done"),
1, TimeUnit.SECONDS );
()->的含义是什么
我签入了eclipse,它不允许。但是线程编写器的意图是什么呢?这是JDK8的语法
它与
这是的Java8语法
ScheduledThreadPoolExecutor#exec(..)
方法需要一个Runnable
参数Runnable
是一个函数接口,因为它只包含一个abstract
方法。因此,编译器可以推断您正在使用lambda定义一个新的Runnable
实例
()
之间的部分是run()
方法的参数,即无。->
后面的部分是方法的主体。这是Java8Runnable#run()
不接受任何参数。不寒而栗。如何让Java代码在12个简单的步骤中变得不可读…@Gray啊,来吧。玩上一天,你会觉得舒服的。哦,我知道我会觉得舒服@SotiriosDelimanolis。我只是觉得节省字符会降低语言的可读性。这是一个可爱的语言特性,但我不确定它是否能提高代码的可维护性。@Gray我还认为,如果语言更具表现力,它会更好,这对可维护性没有多大帮助。然而,我不认为他们制造兰博达就是为了这个。
exec.schedule(new Runnable() {
public void run() {
System.out.println("done");
}
}, 1, TimeUnit.SECONDS);