使用 Java 中的文件流写入和读取 ArrayList<Object> 时出现问题
Problems writing and reading ArrayList<Object> with filestream in Java
在我的 Android 应用程序中,我有一个自定义对象列表
ArrayList<Poke> pcList = new ArrayList<>();
稍后在我的代码中,我有使用 Java OOS 和 OIS 运行的保存和加载方法。我在其他项目中使用过这些确切的方法并且知道它们工作正常。
我认为我在保存和加载自定义对象列表时遇到了问题。
这是我要保存并加载我的列表的行。
// save
oos.writeObject(pcList);
...
// load
pcList = (ArrayList<Poke>)ois.readObject();
知道为什么我无法正确 load/save 我的自定义对象列表吗?
下面是链接几个相似对象的界面:
public interface Poke {
int getNum();
String getName();
String getType();
int getValue();
boolean getShiny();
String getImageName();
}
这是相似对象之一类
public class BasicPoke implements Poke {
boolean shiny = false;
Random randomInt = new Random();
int iRandom = randomInt.nextInt(34 - 1) + 1;
int iShiny = randomInt.nextInt(31 - 1) + 1;
public int getNum(){
return this.iRandom;
}
public String getName(){
return this.pokeNames[iRandom-1];
}
public String getType(){
return this.pokeTypes[iRandom-1];
}
public int getValue(){
return 1;
}
public boolean getShiny() {
return (iShiny == 15);
}
public String getImageName() {
String threeDigitInteger = String.format(Locale.getDefault(),"%03d", this.getNum());
return (this.getShiny()) ? "icon"+threeDigitInteger+"s" : "icon"+threeDigitInteger;
}
String pokeNames = {"..","..",".."};
String pokeTypes = {"..","..",".."};
请为 BasicPoke 实现 Serializable class。顺便说一句,当你 load/save 一个对象列表时,你能告诉我们什么问题(异常)吗?
谢谢,
义亚
在我的 Android 应用程序中,我有一个自定义对象列表
ArrayList<Poke> pcList = new ArrayList<>();
稍后在我的代码中,我有使用 Java OOS 和 OIS 运行的保存和加载方法。我在其他项目中使用过这些确切的方法并且知道它们工作正常。
我认为我在保存和加载自定义对象列表时遇到了问题。
这是我要保存并加载我的列表的行。
// save
oos.writeObject(pcList);
...
// load
pcList = (ArrayList<Poke>)ois.readObject();
知道为什么我无法正确 load/save 我的自定义对象列表吗?
下面是链接几个相似对象的界面:
public interface Poke {
int getNum();
String getName();
String getType();
int getValue();
boolean getShiny();
String getImageName();
}
这是相似对象之一类
public class BasicPoke implements Poke {
boolean shiny = false;
Random randomInt = new Random();
int iRandom = randomInt.nextInt(34 - 1) + 1;
int iShiny = randomInt.nextInt(31 - 1) + 1;
public int getNum(){
return this.iRandom;
}
public String getName(){
return this.pokeNames[iRandom-1];
}
public String getType(){
return this.pokeTypes[iRandom-1];
}
public int getValue(){
return 1;
}
public boolean getShiny() {
return (iShiny == 15);
}
public String getImageName() {
String threeDigitInteger = String.format(Locale.getDefault(),"%03d", this.getNum());
return (this.getShiny()) ? "icon"+threeDigitInteger+"s" : "icon"+threeDigitInteger;
}
String pokeNames = {"..","..",".."};
String pokeTypes = {"..","..",".."};
请为 BasicPoke 实现 Serializable class。顺便说一句,当你 load/save 一个对象列表时,你能告诉我们什么问题(异常)吗?
谢谢, 义亚