我声明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
的值进行比较?
答案 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())