java - 转换 ArrayList 类变量以进行反序列化

标签 java serialization arraylist deserialization

我正在尝试反序列化 java 中的单个变量,但是在转换值时似乎遇到了问题:

public void loadGrid(Sudoku testGrid) {
    try {
        FileInputStream fileIn = new FileInputStream(System.getProperty("user.home") + "\\tmp\\grid.grd");
        ObjectInputStream in = new ObjectInputStream(fileIn);
        testGrid.sudokuGrid = (Sudoku.sudokuGrid) in.readObject();
        in.close();
        fileIn.close();
    } catch(IOException i) {
        i.printStackTrace();
    } catch(ClassNotFoundException c) {
        c.printStackTrace();
    }
}

Sudoku 是一个包含 ArrayList 变量的 ArrayList 类。 我遇到:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Sudoku.sudokuGrid cannot be resolved to a type

最佳答案

您需要转换为 Sudoku.sudokuGrid 的类型,而不是 sudokuGrid 字段本身:

testGrid.sudokuGrid = (ArrayList<ArrayList<SomeType>>) in.readObject();

关于java - 转换 ArrayList 类变量以进行反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27766959/

相关文章:

macos - JDK/JRE 7 on mac os x 10.7.3 lion vbox guest,libjvm.dylib 插件错误

java - 在默认浏览器中打开具有预定起点和终点的 Google map ?

java - 如何使用集合添加列表(字符串数组)和arrayList?

java - 具有动态 ArrayList 项类型的 Gson TypeToken

java - 尝试让我的数组列表打印给定的项目

java - JPA存储库org.hibernate.LazyInitializationException : could not initialize proxy - no Session

java - 如何在计时器内获取我的对象的实例

parsing - ANTLR 规则消耗固定数量的字符

java - 为什么 Serialized 接口(interface)不需要实现 readObject() 和 writeObject()

python - 在 Django Rest Framework (2.3.5) 中序列化 ManyToMany 抛出 ValueError