java - 错误显示 int 等于 boolean 对象

标签 java

这是我的 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 方法。 基本类型不是对象。另一个错误是您直接比较booleanint 值。它们不兼容。

关于java - 错误显示 int 等于 boolean 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723390/

相关文章:

java - Selenium JUnit 测试失败

java - 将 Spring Boot war 文件部署到 Tomcat 结果为 404,本地主机工作正常

Java 创建 BufferedImage 实例卡住程序

java - 命令按钮不在 "enter"上提交,仅在 IE < 9 中按下

java - 为什么 CriteriaBuilder 会为 "in"CollectionTable 创建格式错误的查询?

Java IOException

java - CDH5.2 : MR, 无法初始化任何输出收集器

java - 哲学家用餐时 Java 中的信号量问题

java - 将 MySQL 查询转换为 JPA 来获取计数

java - 在同一个Android Studio页面中显示两个listView