因此,我想在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);