簡體   English   中英

java8 stream toArray 問題 - 為什么我不需要在這里為 int[][]::new 指定數組大小?

[英]java8 stream toArray question - Why i don't need specify array size here for int[][]::new?

使用下面的代碼,我可以復制二維數組,但為什么我不需要在這里為 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);

因為你提供的不是數組,而是對構造數組的方法的引用。 toArray實現將提供調用構造函數的大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM