Java 要进行布尔检查的字符串值
我有四个字符串falg将这些值作为字符串a[]获取Java 要进行布尔检查的字符串值,java,Java,我有四个字符串falg将这些值作为字符串a[]获取 falg1 = Y or N falg2= Y or N falg3= Y or N falg4= Y or N 基于以上错误,我正在检查以下情况。这是正确的做法还是你有更好的方法 if (falg1.equals("Y")) { if (falg2.equals("Y")) { if (falg3.equals("Y") && falg4.equals("Y")) {
falg1 = Y or N
falg2= Y or N
falg3= Y or N
falg4= Y or N
基于以上错误,我正在检查以下情况。这是正确的做法还是你有更好的方法
if (falg1.equals("Y")) {
if (falg2.equals("Y")) {
if (falg3.equals("Y") && falg4.equals("Y")) {
condition = true;
} else
condition = flase;
} else
return null;
} else
return null;
这是假设所有值都不能为null。你可以通过做“Y”来处理这个问题。等于(falg1)
=
不是赋值相等。不能使用==
检查字符串是否相等,因为它是一个对象,所以必须使用string1.equals(string2)
您可以使用char
标志,如果您想继续使用“Y”或“N”,则可以使用=
检查char
s之间是否相等
但是,只使用布尔值
flag1、flag2、flag3和flag4会更容易。这样你就可以做到:
boolean flag1, flag2, flag3, flag4;
// set all flags to whatever values
if (flag1 && flag2)
{
if (flag3 && flag4)
condition = true;
else
condition = false;
}
else
{
return null;
}
equals()
来比较Java中的字符串值flag1 flag2 flag3 flag4 | result
----------------------------------
N N N N | null
Y N N N | null
N Y N N | null
Y Y N N | null
N N Y N | null
...
是的
当您这样做时,您经常会看到一个模式出现,它将帮助您优化代码。看- falg=旗帜
- 标志可以是布尔值
Boolean flag[4];
//initialize flags somehow.
if(flag[1] && flag[2]){
if(flag[3] && flag[4])
condition = true;
else
condition = false;
}else{
return null;
}
这不是你真正的代码——它是无效的Java。我们检查无效代码是毫无意义的。你的意思是写
==
?我想你的意思是“flag”,而不是“falg”。你的“falg”变量是如何声明的?更新了我的问题。很抱歉错过了。我只给出了psuedo代码。这可以缩短为条件=flag1&&flag2&&flag3&&flag4
。不是真正的@Femaref,应该是:return(flag1和&flag2)?(flag3和&flag4):空代码>
Boolean flag[4];
//initialize flags somehow.
if(flag[1] && flag[2]){
if(flag[3] && flag[4])
condition = true;
else
condition = false;
}else{
return null;
}