gpt4 book ai didi

Java序列化。字段更改值

转载 作者:行者123 更新时间:2023-11-30 07:28:43 27 4
gpt4 key购买 nike

<分区>

我有以下问题。我可以将交易状态设置为“开始、结束或进行中”。我设置它,然后将我的事务对象序列化到服务器,服务器检索它。第一次(当事务处于启动模式时)就像一个魅力一样工作,但是当我重新发送对象时,这次是在“正在进行”模式下,服务器继续在“启动”模式下看到它。我已经测试了序列化之前的代码和反序列化之后的代码,这肯定是问题所在。任何帮助将不胜感激。相关代码片段如下:

序列化

        if ((query instanceof Transaction) && !(trx.getTransactionState()==Consts.trx_start)) System.out.println("Not start");
oos.writeObject(query);
oos.flush();

反序列化

    while (true) {
Object statement = null;

try {

statement = ois.readObject();
if ((statement instanceof Transaction) && !(((Transaction) statement).getTransactionState()==Consts.trx_start)) System.out.println("Not start 2");
handle_statement(statement, socket);
} catch (IOException e) {

和事务类:

    public class Transaction extends Statement{

/**
*
*/
private static final long serialVersionUID = -2284996855537430822L;
Statement statement_list;
int trx_state;


/**
*
*/
public Transaction() {
trx_state = Consts.trx_start;;
}

/**
* @param statement
*/
public void setStatement(Statement statement ) {
statement_list = statement;
}


public void setTransactionState(int state) {
trx_state = state;
}

public int getTransactionState() {
return trx_state;
}
/**
* @return
*/
public Statement getStatement() {
return statement_list;
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com