猿问
CodenameOne 中是否可以保存多维数组?
我知道我只能在 CodenameOne 中使用 Storage 保存少量类,但我想知道是否可以保存多维数组。
白衣非少年
浏览 156
回答 1
1回答
宝慕林4294392
没有检测到多维数组,但您可以使用手动代码保存它们,例如在您的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 的数组,并假定一个多维整数数组。不过,它很容易适应任何东西。
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答