Не обнаружено многомерных массивов, но вы можете сохранить их, используя ручной код, например, в вашем 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();
}
}
Обратите внимание, что этот код преобразует нулевые значения в массивы 0 длины и предполагает многомерный массив целых чисел. Хотя его довольно легко адаптировать к чему-либо.