使用下面的代码,我可以复制二维数组,但是为什么我不需要在这里为 int[][]::new 指定数组大小?
int[][]source= {{0, 1, 0}, {0, 0, 1}, {1, 1, 1}, {0, 0, 0},{0, 0, 0}};
int[][] destination=Arrays.stream(source)
.map(a -> Arrays.copyOf(a, a.length))
.toArray(int[][]::new);
Run Code Online (Sandbox Code Playgroud)
因为你提供的不是数组,而是对构造数组的方法的引用。该toArray实施将提供大小来调用构造函数。
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |