我已经声明了一个int x:
int x = 1;
假设我声明了这样的布尔值
boolean myBool = x<2;
现在我将x的值更改为5.如果我再次调用布尔值,
x=5;
System.out.println(myBool);
它现在会将值更改为false吗?如果没有,我怎么能实现这个目标?
Java中没有魔力,变量也不会神奇地改变状态。要获得布尔更改状态,必须对其执行编码,最好使用public boolean isMyBool()
方法返回计算的属性值而不使用字段。
private int x = 0;
// boolean myBool = x < 2; // nope -- get rid of
public boolean isMyBool() {
return x < 2;
}
要添加到现有答案,您正在寻找一个boolean
值函数。在Java中,这被称为Predicate。
您可以定义以下IntPredicate
:
IntPredicate myPredicate = x -> x < 2;
这将为传递给它的int
参数的不同值产生以下输出:
myPredicate.test(1); // True
myPredicate.test(5); // False