2017-08-10 97 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使得語言不那麼冗長。