静态数据成员未通过套接字发送到对象发送

我想为两个客户端发送相同的对象。 我使用object write unshared方法并读取非共享。 我的对象的类是:

package servidor; import java.io.Serializable; public class Token implements Serializable { private static final long serialVersionUID = -5399605122490343339L; public static String sender, receiver, content; String id; public Token(String sender, String receiver, String content){ Token.sender = sender; Token.receiver = receiver; Token.content = content; } public static Token returnToken(){ Token token = new Token(Token.sender, Token.receiver, Token.content); return token; } public static String returnSender(){ return Token.sender; } public boolean hasToken(String id){ if(Token.sender.equals(id)){ return true; } else {return false;} } } 

但是,当我在客户端使用方法returnSender时,返回值为null 。 我已经检查过,我在readUnshared()接收对象时没有错误。 我在双方都有类令牌包含在服务器包中。

我每个客户端有一个线程,线程寻找相同的对象发送。

如何为不同线程中的各种客户端发送相同的对象?

序列化对象时, 只能序列化该对象的字段,而不是static字段。 您可以通过添加writeObject和readObject来序列化static字段,但这通常是一个非常糟糕的主意。

我建议你出于多种原因避免使用可变static字段,这只是其中之一。 在这种情况下,它会解决您的问题。