Java 使用objectOutputStream时不返回对象属性
我正试图在Android Studio中制作一个应用程序,作为其中的一部分,我想保存一个播放器对象,主要是为了跟踪他们的长期平均分数 玩家对象包含多个变量Java 使用objectOutputStream时不返回对象属性,java,android,Java,Android,我正试图在Android Studio中制作一个应用程序,作为其中的一部分,我想保存一个播放器对象,主要是为了跟踪他们的长期平均分数 玩家对象包含多个变量名称平均值得分 有些变量随着每次转动而改变,有些变量将保持不变。在每一圈结束时,大多数都会重置为0,但平均值将保持不变。平均值为int类型,因为它需要一个十进制值 我有以下编译和运行的代码,但什么也没有发生,使用调试器显示它似乎只读取FileOutputStream,而不读取ObjectOutputStream //Write data to
名称
平均值
得分
有些变量随着每次转动而改变,有些变量将保持不变。在每一圈结束时,大多数都会重置为0,但平均值将保持不变。平均值为int类型,因为它需要一个十进制值
我有以下编译和运行的代码,但什么也没有发生,使用调试器显示它似乎只读取FileOutputStream
,而不读取ObjectOutputStream
//Write data to file
try{
FileOutputStream f = new FileOutputStream(new File("myObject.txt"));
ObjectOutputStream o = new ObjectOutputStream(f);
o.writeObject(p1);
o.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我已设置对象,使其具有指定的属性。我还尝试了一个简化版本,它只包含一个播放器
对象,只有一个名称
和平均值
,但我仍然没有得到任何运气
请任何人告诉我我做错了什么
Player
class
import java.io.Serializable;
public class Player implements Serializable {
String name;
private int score;
private float average;
public Player(String aName){
this.name = aName;
this.average = 20f;
this.score = 45;
}
@Override
public String toString(){
return "Name: "+this.name + "\nScore: "+this.score+"\nAverage: "+this.average;
}
}
这是一个简化的版本,而不是显示一个包含所有属性的版本。你能显示你的玩家类吗?我已将其添加到主要问题中。我在本地测试了你的代码,一切正常。你没有向我们展示的代码中一定有错误。你能展示你的玩家类吗?我已经将它添加到主要问题中。我在本地测试了你的代码,一切正常。代码中一定有错误,您没有向我们显示。
import java.io.Serializable;
public class Player implements Serializable {
String name;
private int score;
private float average;
public Player(String aName){
this.name = aName;
this.average = 20f;
this.score = 45;
}
@Override
public String toString(){
return "Name: "+this.name + "\nScore: "+this.score+"\nAverage: "+this.average;
}
}