次のような列挙型が定義されているとします。
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)
?