考虑以下枚举类
public enum ClassA {
CHECK1("X", 0),
CHECK2("Y", 2),
CHECK3("Z", 1);
private final String id;
private final String cdValue;
private ClsA(String id, String cdValue) {
this.id = id;
this.cdValue = cdValue;
}
private String getId() {
return id;
}
private String getCdValue() {
return cdValue ;
}
private static final List<String> cdValues = new ArrayList<String>();
static {
for (ClassA clsA : ClassA.values()) {
cdValues.add(clsA.getCdValue());
}
}
public boolean isCdValue(String cdValue)
{
if clsValues.contains(cdValue)
return true;
else return false;
}
}
我的问题是该方法isCdValue
是否必须是静态的。isCdValue
对于客户端给出的每个输入,我都必须使用此方法。因此,每个输入的方法参数cdValue
都会发生变化。
如果它不能是静态的,那么我想知道如何访问此方法。请注意,我主要对学习非静态方法调用的静态感兴趣。如果它是枚举中的非静态调用,那么我们如何调用这个非静态方法。我并不是要解决如何检查是否cdValue
存在的问题。这只是一个例子。