编程语言
首页 > 编程语言> > java – “String [] :: new”是什么意思?

java – “String [] :: new”是什么意思?

作者:互联网

我正在学习如何使用流,我遇到了这个方法的问题.

public static String[] inArray(String[] array1, String[] array2) {
   return Arrays.stream(array1)
  .filter(str -> Arrays.stream(array2).anyMatch(s -> s.contains(str)))
  .distinct().sorted().toArray(**String[]::new**);
}

我对String [] :: new很困惑,你能给我一个提示吗?

解决方法:

String [] :: new表示大小 – > new String [size].

Stream#toArray(IntFunction<A[]> generator)准备生成一个数组时,它调用生成器并传递(generator.apply)内部集合的大小以获得一个集合来填充它.

标签:method-reference,java,java-8,java-stream
来源: https://codeday.me/bug/20191004/1854456.html