Java:在循环中将对象刷新到ObjectOutputStream时未更新对象

Java:在循环中将对象刷新到ObjectOutputStream时未更新对象,java,networking,serializable,objectoutputstream,Java,Networking,Serializable,Objectoutputstream,最近,我第一次尝试设置网络时遇到了这个问题,通过服务器将对象从一个客户端发送到另一个客户端 我试图使用ObjectOutputStream类将任何对象发送到服务器,当我第一次发送对象时,服务器会接收到该对象, 但是,如果我尝试再次发送它,并进行一些修改(例如,我尝试创建一个只包含字符串的类,然后在每次输出时更新字符串),则修改不会被考虑 我尝试使用一个包含字符串的类,因为当我尝试从类字符串发送对象时,它可以工作,但当我使用自己的类时,它不能工作 也许我没有正确使用ObjectOutputStre

最近,我第一次尝试设置网络时遇到了这个问题,通过服务器将对象从一个客户端发送到另一个客户端

我试图使用ObjectOutputStream类将任何对象发送到服务器,当我第一次发送对象时,服务器会接收到该对象, 但是,如果我尝试再次发送它,并进行一些修改(例如,我尝试创建一个只包含字符串的类,然后在每次输出时更新字符串),则修改不会被考虑

我尝试使用一个包含字符串的类,因为当我尝试从类字符串发送对象时,它可以工作,但当我使用自己的类时,它不能工作

也许我没有正确使用ObjectOutputStream类? 这里是我的客户机类的一段代码

boolean sendA = false;  
String a = "|";
StringNBoolean b = new StringNBoolean("|", false);
        
while (running) {
    a += "|";
    b.s += "|";
    if (sendA) {
        System.out.println("[CLIENT] " + " Sent: " + a);
        out.writeObject(a);
        out.flush();
    } else {
        System.out.println("[CLIENT] " + " Sent: " + b);
        out.writeObject(b);
        out.flush();
    }
}
在这段代码中,我们可以看到我发送了a或b,每次我向它们添加一个字符时,在服务器日志中,我可以看到收到的对象只在我发送a时更新,而不是在发送b时更新

StringNBoolean类:

public class StringNBoolean implements Serializable{

private static final long serialVersionUID = -2732929164670973602L;
public String s;
public boolean b;
public StringNBoolean(String s, boolean b) {
    this.s = s;
    this.b = b;
}
public String toString() {
    return s;   
}}