虽然我实现了’Serializable’,但为什么我得到NotSerializableExceptionexception

我在类’userInfo’中实现了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.(Server.java:44) at chatservernazmus.Main.main(Main.java:11) 

这是我的两个class级:

 public class userInfo implements Serializable{ public ArrayList allUser=new ArrayList(); public void addUser(User e){ allUser.add(e); } public ArrayList getAllUser(){ return allUser; } } public class User{ public String userName=""; public String password=""; public String statusMessage=""; public ArrayList friend=new ArrayList(); public ArrayListofflineMessage=new ArrayList(); 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 getOfflineMessage(){ ArrayList str=new ArrayList(); offlineMessage.clear(); return str; } } 

虽然我实现了’Serializable’,但为什么我得到NotSerializableExceptionexception

你还没有。

java.io.NotSerializableException:chatservernazmus.User public class userInfo实现Serializable {public class User {

User类也必须是可序列化的。

在没有看到你的代码的情况下,很难确切知道,但其原因几乎总是你的类有一个不可序列化的字段(或者包含一个包含字段的对象,……)。 对象中的所有内容(包括对象引用的所有内容以及这些对象引用的所有内容)都必须可序列化以避免exception。