这是我的 confirmBooking 方法,我正在尝试检查年龄是否等于学生或 child ,因此我可以使用 if 语句在任何需要的地方应用折扣。我的 boolean 值也是因为我检查了给定的年龄是否在一些给定的数字之间以确定它是 child 还是学生。我收到此错误 Customer.java [行:41]
第 41 行是 if(age == (isStudent() || isChild()))
Error: The operator == is undefined for the argument type(s) int, boolean
谁能解释一下为什么?
public double confirmBooking(){
double standardTicketPrice = 56.0;
double standardMealPrice = 30.0;
if(age == (isStudent() || isChild())){
return standardTicketPrice / 2.0;
}else{
return standardTicketPrice * (20.0/100.0);
}
if(age.equals(isChild())){
return standardMealPrice / 2.0;
}else{
return standardMealPrice * (10.0/100.0);
}
}// end method confirmBooking
最佳答案
原始类型与 ==
进行比较。您不能对基本类型调用 equals
方法。 基本类型不是对象。另一个错误是您直接比较boolean
和int
值。它们不兼容。
关于java - 错误显示 int 等于 boolean 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723390/