如何缩短此代码

时间:2017-03-14 14:31:51

标签: java

如何缩短此代码我已尝试过所有内容!

if(((condition.toString()).length()) == ("false".length()) - 1&&((condition.toString()).length()) != "true".length() + 1){
            System.out.println("true");
        }

4 个答案:

答案 0 :(得分:5)

假设condition.toString().length()两次被评估时相同,请将其作为变量拉出来:

int c = condition.toString().length();

然后内联("false".length()) - 1"true".length() + 1的值:

if (c == 4 && c != 5) { ... }

从4!= 5:

if (c == 4) {
  System.out.println("true");
}

如果您不想使用c变量:

if (condition.toString().length() == 4) {
  System.out.println("true");
}

如果您无法假设condition.toString().length()两次都相同,那么您所能做的就是删除不必要的括号并内联("false".length()) - 1"true".length() + 1的值。< / p>

if (condition.toString().length() == 4
    && condition.toString().length() != 5) {
  System.out.println("true");
}

答案 1 :(得分:0)

我尝试自己迭代代码以简化它 -

if(((condition.toString()).length()) == ("false".length()) - 1&&((condition.toString()).length()) != "true".length() + 1) {
    System.out.println("true");
}

修剪括号 -

if ( condition.toString().length() == ("false".length()) - 1 && (condition.toString()).length() != "true".length() + 1) {
        System.out.println("true");
}

更换常数值 -

if ( condition.toString().length() == 4 && (condition.toString()).length() != 5) {
    System.out.println("true");
}

作为Suggested by @Andy

int c = condition.toString().length();
if (c == 4) {
    System.out.println("true");
}

进一步简化(注意这个处理条件的else部分以及我正在打印新行""

int c = condition.toString().length();
System.out.println(c==4?"true":"");

一个班轮 -

System.out.println(condition.toString().length()==4?"true":"");

答案 2 :(得分:-1)

看来您的支票可以简化为此。

int c = condition.toString().length();

    if(c == 4){
     ...
}

第二次检查c!= 5是否是不必要的,因为如果c == 4它将永远不等于5!

答案 3 :(得分:-1)

您可以删除不必要的分组符号,并为其声明一个局部变量 你使用最多的condition.toString()。length()

int condL = condition.toString().length();
if (condL == "false".length() - 1 && condL != "true".length() + 1) {
    System.out.println("true");
}