我已经创建了一个实现 Serializable 接口的 Person 对象类,它在其构造函数中包含 fname、lname、phone、address,并且我将此类的对象通过流存储在“.dat”文件中,我想显示这些联系人在 GUI 上,所以当我尝试将人转换为一个字符串时,它会给出 ClassCastException,如果有人能提供帮助,我将不胜感激。
这是一个构造函数:
public Person(String fName, String lName, String add, String ph) {
//super();
this.fName = fName;
this.lName = lName;
this.add = add;
this.ph = ph;
}
这是 GUI 类代码:
public void windowOpened(WindowEvent e) {
FileInputStream fis;
ObjectInputStream ois;
try {
fis = new FileInputStream("person.dat");
ois = new ObjectInputStream(fis);
Person p = (Person) ois.readObject();
String obj = (String) p.toString(); // giving error at this line
StringTokenizer str = new StringTokenizer(obj, " ");
textField.setText(str.nextToken());
textField_3.setText(str.nextToken());
textArea.setText(str.nextToken());
// System.out.println(p);
ois.close();
fis.close();
} catch (Exception ee) {
System.out.println("Cannot Read File" + ee.getMessage());
ee.printStackTrace();
}
}