コンストラクターに fname、lname、phone、address を含む Serializable インターフェイスを実装する Person オブジェクトのクラスを作成しました。このクラスのオブジェクトをストリームによって「.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();
}
}