gpt4 book ai didi

java - 在 Java 中使用文件流写入和读取 ArrayList 时出现问题
转载 作者:行者123 更新时间:2023-12-01 09:34:22 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我有一个自定义对象列表

ArrayList<Poke> pcList = new ArrayList<>();

稍后在我的代码中,我有保存和加载方法,它们使用 Java OOS 和 OIS 来运行。我在其他项目中使用过这些确切的方法,并且知道它们可以正常工作。

我相信我在保存和加载自定义对象列表时遇到问题。

这是我要调用的保存和加载列表的行。

// save
oos.writeObject(pcList);

...

// load
pcList = (ArrayList<Poke>)ois.readObject();

知道为什么我无法正确加载/保存自定义对象列表吗?

这是链接一些相似对象的界面:

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 类实现可序列化。顺便问一下,您能告诉我们加载/保存对象列表时出现什么问题(异常)吗?

谢谢,义家

关于java - 在 Java 中使用文件流写入和读取 ArrayList<Object> 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39130619/

25 4 0