java中的这种语法是什么?

时间:2017-08-10 23:43:47

标签: java syntax

我在this回答中找到了 String [] :: new 的语法。 但是我在谷歌搜索这个并不能找到有用的信息。

2 个答案:

答案 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 referenceClassName::method只是一种更简洁的语法,用于使用调用现有方法的lambda表达式(在本例中为new),而不是调用匿名方法的语法。