假设我有一个枚举定义如下:
public enum Sample{
// suppose AClass.getValue() returns an int
A(AClass.getValue()),B(AClass.getValue()),C(AClass.getValue());
private int _value;
private Sample(int _val){
this._value = _val;
}
public int getVal(){
return _value;
}
我可以使用Sample.A或Sample.A.getAVal()提取值而不会出现问题.
现在假设AClass.getValue()可以使用参数来返回可能不同的特定值,例如AClass.getValue(42).
可以将参数传递给公共Enum方法并检索枚举值吗?换句话说,我可以像Enum一样定义
public enum Sample{
// suppose AClass.getValue() returns an int
A(AClass.getAValue()),B(AClass.getBValue()),C(AClass.getCValue());
private int _value;
private Sample(int _val){
this._value = _val;
}
public int getVal(){
return _value;
}
public int getVal(int a){
// somehow pull out AClass.getAValue(a)
}
使用Sample.A.getValue(42)?