gpt4 book ai didi

java - 我该如何反序列化?有人可以帮我做这个吗?我无法反序列化

转载 作者:行者123 更新时间:2023-11-29 09:01:19 26 4
gpt4 key购买 nike

有人可以帮我做这个吗?

我不能反序列化。我怎样才能反序列化这个程序?

列表项

public static void main(String[] args) {
contato acon [] = new contato[3];

acon [0] = new contato();
acon [0].setName("joyce");
acon [0].setAddress("hileia n° 587");
acon [0].setFone("789-456");
acon [1] = new contato();
acon [1].setName("naldo");
acon [1].setAddress("bairro da paz n°15821");
acon [1].setFone("654-123");
acon [2] = new contato();
acon [2].setName("jessica");
acon [2].setAddress("cidade nova n°15");
acon [2].setFone("456-789");

try {
FileOutputStream fs = new FileOutputStream("contato.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(acon);
os.close();

} catch (Exception ex) {
ex.printStackTrace();
}
try {
FileInputStream fs = new FileInputStream("contato.ser");
ObjectInputStream oi = new ObjectInputStream(fs);
System.out.println(oi.readObject());

oi.close();
fs.close();


} catch (Exception e) {
e.printStackTrace();
}
}
}

反序列化此对象时总是出错。

public class contato implements Serializable {

private String name;
private String address;
private String fone;

public void setName(String name) {
this.name = name;
}

public void setAddress(String address) {
this.address = address;
}

public void setFone(String fone) {
this.fone = fone;
}

public String getName() {
return name;
}

public String getAddress() {
return address;
}

public String getFone() {
return fone;
}

最佳答案

我建议您“根本不会出错”。您看到的是尝试打印数组的结果。这会调用 System.out.println(Object),它会调用 contato [].toString(),它不能被覆盖,因此它会打印类名之类的东西 [] 和哈希码。这是意料之中的。如果您想查看序列化数组的内容,您必须将其反序列化为数组对象,遍历它,然后一个一个地打印元素。

关于java - 我该如何反序列化?有人可以帮我做这个吗?我无法反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17267194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com