1 回答

TA贡献2021条经验 获得超8个赞
没有检测到多维数组,但您可以使用手动代码保存它们,例如在您的Externalizable界面中,您可以使用诸如此类的东西来编写:
if(myMultiArr == null) {
out.writeInt(0);
} else {
out.writeInt(myMultiArr.length);
for(int iter = 0 ; iter < myMultiArr.length ; iter++) {
if(myMultiArr[iter] == null) {
out.writeInt(0);
} else {
out.writeInt(myMultiArr[iter].length);
for(int i = 0 ; i < myMultiArr[iter].length ; i++) {
out.writeInt(myMultiArr[iter][i]);
}
}
}
}
然后你可以阅读它:
myMultiArr = new int[in.readInt()][];
for(int iter = 0 ; iter < myMultiArr.length ; iter++) {
myMultiArr[iter] = new int[in.readInt()];
for(int i = 0 ; i < myMultiArr[iter].length ; i++) {
myMultiArr[iter][i] = in.readInt();
}
}
请注意,此代码会将 null 值转换为长度为 0 的数组,并假定一个多维整数数组。不过,它很容易适应任何东西。
添加回答
举报