2017-08-10 63 views

回答

0

这是一个method reference的构造函数。 ClassName::method只是使用调用现有方法的lambda表达式(在本例中为new)而非调用匿名方法的语法。

1

这实际上是一个拉姆达的简写,是最近才加入到Java:

size -> new String[size] 

这又是一个IntFunction速记:

new IntFunction<String[]> { 
    @Override 
    String[] apply(int size) { 
    return new String[size]; 
    } 
} 

正如你所看到的,这些增加的Java 8使得语言不那么冗长。