Java多维数组的序列化

2024-01-03

java中的二维数组可以序列化吗?

如果没有,我希望将 3x3 2D 数组“翻译”为向量的向量。

我一直在研究向量,但我仍然不确定如何表示它。谁能帮我?

Thanks!


Java 中的数组是可序列化的——因此数组的数组也是可序列化的。

但是,它们包含的对象可能不是,因此请检查数组的内容是否可序列化 - 如果不是,请使其可序列化。

这是一个使用整数数组的示例。

public static void main(String[] args) {

    int[][] twoD = new int[][] { new int[] { 1, 2 },
            new int[] { 3, 4 } };

    int[][] newTwoD = null; // will deserialize to this

    System.out.println("Before serialization");
    for (int[] arr : twoD) {
        for (int val : arr) {
            System.out.println(val);
        }
    }

    try {
        FileOutputStream fos = new FileOutputStream("test.dat");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(twoD);

        FileInputStream fis = new FileInputStream("test.dat");
        ObjectInputStream iis = new ObjectInputStream(fis);
        newTwoD = (int[][]) iis.readObject();

    } catch (Exception e) {

    }

    System.out.println("After serialization");
    for (int[] arr : newTwoD) {
        for (int val : arr) {
            System.out.println(val);
        }
    }
}

Output:

Before serialization
1
2
3
4
After serialization
1
2
3
4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java多维数组的序列化 的相关文章

随机推荐