我有一个名为PawnColor的枚举,它只包含以下内容:
public enum PawnColor {
black, white, none, illegal
}
如果我有以下方法,我怎样才能检查当前PawnColor实例的颜色?
public double ratePosition (PawnColor ratingFor) {
// ...
}
因此,如果ratingFor
的颜色为illegal
,我该如何检查?我以前从未使用过枚举,我无力地尝试过:
if(ratingFor.equals(illegal)) {
System.out.println("Something has gone wrong.");
}
它显然不起作用,当PawnColor ratingFor非法时,我如何确保收到错误消息?
答案 0 :(得分:0)
我在本地测试了这个,并且正确打印了错误消息。
PawnColor ratingFor = PawnColor.illegal;
if(ratingFor == PawnColor.illegal)
{
System.out.println("Something has gone wrong.");
}
答案 1 :(得分:0)
应该是:
if (ratingFor == illegal)
答案 2 :(得分:0)
您需要将illegal
称为PawnColor.illegal
。
只需使用==
:
if(ratingFor == PawnColor.illegal)
您也可以使用equals
作为:
if(PawnColor.illegal.equals(ratingFor))
答案 3 :(得分:0)
对于枚举常量,等于和= =相同,可以交替使用
答案 4 :(得分:0)
if(ratingFor.equals(illegal)) {
System.out.println("Something has gone wrong.");
}
这里你不能引用“非法”,ratingFor只能与PawnColor.class类型进行比较。
ratingFor == PawnColor.illegal
或
ratingFor.equals(PawnColor.illegal)
将为您提供所需的结果