将对象的值与枚举值进行比较

时间:2016-03-08 09:44:19

标签: java enums

我声明enum并为每个人分配一个值。

public enum RATING {
   G(0), P(12), M(16);
   private int age;

   private RATING(int age){
   this.age = age;
   }
}

我想做这样的事情,但它没有编译。

... if (Customer.getAge() >= Film.getRating()) ...

Customer.getAge()返回int; Film.getRating()会返回enum RATING

如何将对象的值与enum的值进行比较?

3 个答案:

答案 0 :(得分:2)

此时,您不是将它与枚举值进行比较,而是与枚举本身进行比较。

像这样更改你的枚举:

public enum RATING {
   G(0), P(12), M(16);
   private int age;

   private RATING(int age){
   this.age = age;
   }

   public int getAge(){
    return this.age;
    }
}

并像这样比较:

if (Customer.getAge() >= Film.getRating().getAge())

答案 1 :(得分:2)

将此方法添加到您的枚举

 public int getAge(){
   return age;
   }

并修改代码

if (Customer.getAge() >= Film.getRating().getAge()) ..

答案 2 :(得分:2)

将以下方法添加到RATING:

public int getAge() {
    return age;
}

然后您可以使用以下行:

if (Customer.getAge() >= Film.getRating().getAge())