我似乎遇到了布尔测试的问题。当我使用此代码时:
public boolean setPkg (String inPkg)
{
boolean isValid;
if ((inPkg.toUpperCase() != "A" ) || (inPkg.toUpperCase() != "B" ) || (inPkg.toUpperCase() != "C"))
isValid = false;
else
{
pkg = inPkg;
isValid = true;
}
return isValid;
}
它在“A”上返回 false。但是,当我只测试“A”时:
...
if (inPkg.toUpperCase() != "A" )
isValid = false;
else
{
pkg = inPkg;
isValid = true;
}
return isValid;
...
它返回真。
我错过了什么?
我还尝试使用多个 if else 语句来测试 A、B 或 C,但 A 的结果是错误的。B 和 C 没有得到测试,因为我的制造异常被抛出。