所以我想在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。
答案 0 :(得分:1)
使用Arrays.copyOf制作数组的副本。
ChunkSection [] sec = Arrays.copyOf(tsec, tsec.length);