【问题标题】:How and where to store expressions in variables如何以及在何处将表达式存储在变量中
【发布时间】:2015-01-09 20:16:31
【问题描述】:

我可以用 Java 制作表达式并将它们存储到布尔数据类型的变量中吗?这样我就可以有条件地使用它们?如果是,请告诉如何。
像这样的表达式:
(temp.name(0) && temp.name(1))
并将它们保存到可以为真或假的变量中。

【问题讨论】:

标签: java variables expression storage


【解决方案1】:

表达式本身不能保存为要重用的变量(如函数)。您可以执行以下操作之一:

1) 存储表达式的值

boolean nameValid = name.length() >= 1;

2) 定义一个方法

public boolean isNameValid(String name) {
    return name != null && name.length() >= 1;
}

【讨论】:

  • 有一些脚本API可以用来解析表达式。这并非不可能。
  • 是的,好电话。但是,我没有包括在内,因为我觉得这不是问题的意图。但是,是的,有,如果你需要那种东西,它们确实可以工作。
【解决方案2】:

如果条件执行时间非常长,您可以使用这种方法,因此您只想计算一次并将结果存储起来以供多次使用。因此,您可以节省重复计算的时间。

例子:

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 {

   }
}

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2015-02-13
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多