【发布时间】:2015-01-09 20:16:31
【问题描述】:
我可以用 Java 制作表达式并将它们存储到布尔数据类型的变量中吗?这样我就可以有条件地使用它们?如果是,请告诉如何。
像这样的表达式:(temp.name(0) && temp.name(1))
并将它们保存到可以为真或假的变量中。
【问题讨论】:
标签: java variables expression storage
我可以用 Java 制作表达式并将它们存储到布尔数据类型的变量中吗?这样我就可以有条件地使用它们?如果是,请告诉如何。
像这样的表达式:(temp.name(0) && temp.name(1))
并将它们保存到可以为真或假的变量中。
【问题讨论】:
标签: java variables expression storage
表达式本身不能保存为要重用的变量(如函数)。您可以执行以下操作之一:
1) 存储表达式的值
boolean nameValid = name.length() >= 1;
2) 定义一个方法
public boolean isNameValid(String name) {
return name != null && name.length() >= 1;
}
【讨论】:
如果条件执行时间非常长,您可以使用这种方法,因此您只想计算一次并将结果存储起来以供多次使用。因此,您可以节省重复计算的时间。
例子:
if (veryLongCalc() || someCond) {
if (veryLongCalc()) {
// veryLongCalc() will be called here 2 times
} else { // someCond == true
}
}
可以更好:
boolean b = veryLongCalc();
if (b || someCond) {
if (b) {
// veryLongCalc() only called once !!
} else {
}
}
【讨论】: