Java 二进制运算符的操作数不正确?

Java 二进制运算符的操作数不正确?,java,if-statement,binary,operands,Java,If Statement,Binary,Operands,我不知道怎么了,我是个初学者。 任何帮助都将不胜感激 if(房间包含((targetRoom1)| |(targetRoom2)和&targetDay)){ 此代码的错误是二进制运算符“&&”的操作数类型错误 第一种类型:java.lang.String;第二种类型:java.lang.String错误告诉您targetRoom2和targetDay不是布尔值,因此您不能使用&& 我猜你想测试一些东西,比如: if(room.contains(targetRoom1) || room.conta

我不知道怎么了,我是个初学者。 任何帮助都将不胜感激

if(房间包含((targetRoom1)| |(targetRoom2)和&targetDay)){

此代码的错误是二进制运算符“
&&
”的操作数类型错误 第一种类型:
java.lang.String
;第二种类型:
java.lang.String

错误告诉您targetRoom2和targetDay不是布尔值,因此您不能使用&&

我猜你想测试一些东西,比如:

if(room.contains(targetRoom1) || room.contains(targetRoom2) && (targetDay == queryDay)){

这应该行得通

我不是Java开发人员,但在我所知道的语言中,第二个
行结束前应该在targetRoom2后面…就像这样:
如果(room.contains((targetRoom1)|(targetRoom2))&&targetDay)){
请添加更多的代码。这些变量是如何声明的?
if(room.contains(targetRoom1) || room.contains(targetRoom2) && targetDay!=null){