我已經在類'userInfo'中實現了Serializable。我仍然得到例外。下面是輸出控制檯 -爲什麼我得到NotSerializableException異常,雖然我已經實現了'Serializable'
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: chatservernazmus.User
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at chatservernazmus.Server.getAllUser(Server.java:74)
at chatservernazmus.Server.<init>(Server.java:44)
at chatservernazmus.Main.main(Main.java:11)
這裏是我的兩個類:
public class userInfo implements Serializable{
public ArrayList<User> allUser=new ArrayList<User>();
public void addUser(User e){
allUser.add(e);
}
public ArrayList<User> getAllUser(){
return allUser;
}
}
public class User{
public String userName="";
public String password="";
public String statusMessage="";
public ArrayList<String> friend=new ArrayList<String>();
public ArrayList<String>offlineMessage=new ArrayList<String>();
public User(String username,String password,String message){
userName=username;
password=password;
statusMessage=message;
}
public void setStatusMessage(String message){
statusMessage=message;
}
public void addFriend(String fr){
friend.add(fr);
}
public ArrayList<String> getOfflineMessage(){
ArrayList<String> str=new ArrayList<String>();
offlineMessage.clear();
return str;
}
}
你應該提供一些代碼,其中你會得到錯誤 – ismail
你是否在類User上實現了?哪個錯誤狀態!我不知道'userInfo'是否是用戶 –
檢查堆棧跟蹤中提到的最後兩行的所有對象。 – Adarsh