因此,我想在Java中复制变量,而不让它们共享相同的数据集。
变量是一个名为ChunkSection[] tsec的数组,我想将其复制到ChunkSection[] sec,但两者之间没有任何关系。我试过了.clone(),但是没有用。

ChunkSection[] sec = null;
tsec = fromChunk.i().clone();
for (ChunkSection s : tsec) {
    ArrayList<ChunkSection> chs = new ArrayList<>();
    chs.add(s);
    sec = (ChunkSection[]) chs.toArray();               <-----
}


上面的代码在箭头指向的行上生成ClassCastException。

最佳答案

使用Arrays.copyOf制作数组的副本。

ChunkSection [] sec = Arrays.copyOf(tsec, tsec.length);

10-07 22:52