我在this回答中找到了 String [] :: new 的语法。 但是我在谷歌搜索这个并不能找到有用的信息。
答案 0 :(得分:1)
这实际上是lambda的简写,这是Java的最新成员:
size -> new String[size]
反过来又是IntFunction的缩写:
new IntFunction<String[]> {
@Override
String[] apply(int size) {
return new String[size];
}
}
正如您所看到的,Java 8的这些新增功能使语言更加冗长。
答案 1 :(得分:0)
这是构造函数的method reference。 ClassName::method
只是一种更简洁的语法,用于使用调用现有方法的lambda表达式(在本例中为new
),而不是调用匿名方法的语法。