我正在尝试反序列化 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/