首页 > 解决方案 > 瞬态布尔变量问题

问题描述

我有一个数据库中不存在的瞬态变量,它是对另一个变量(整数变量)的解释,基本上如果该 int 变量等于 2,我的瞬态为真,否则为假。这是我的 getter 和 setter:

public Boolean getAceitaPix() {
    if(versaoWS.equals(2)){
        this.aceitaPix = true;
    }else{
        this.aceitaPix = false;
    }
    return aceitaPix;
}

public void setAceitaPix(Boolean aceitaPix) {
    if(this.aceitaPix == true){
        this.versaoWS = 2;
    }else{
        this.versaoWS = null;
    }
    this.aceitaPix = aceitaPix;
}

问题是,当我尝试在我的 XHTML 上进行更改时,再次调用 getter 并且无论我在 Form 上做什么,它都会更改布尔值,因此当调用 setter 时,瞬态变量始终为 TRUE。我该如何进行?我是否要创建另一个仅更改设置器的布尔值?我认为有一种更聪明的方法可以做到这一点。

标签: javaboolean

解决方案


听起来你不需要那里的字段。相反,您可以只使用一个即时计算它的吸气剂:

public boolean getAceitaPix() {
    return versaoWS.equals(2);
}

推荐阅读