如何缩短此代码我已尝试过所有内容!
if(((condition.toString()).length()) == ("false".length()) - 1&&((condition.toString()).length()) != "true".length() + 1){
System.out.println("true");
}
答案 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");
}
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");
}