1 回答

TA貢獻1772條經(jīng)驗 獲得超8個贊
如果您的枚舉類型存儲旨在多態(tài)訪問的數(shù)據(jù),那么它們應該實現(xiàn)適當?shù)慕涌?。假設此數(shù)據(jù)是單個數(shù)據(jù)int
,那么枚舉類型可能如下所示(使用IntSupplier):
public enum MyEnum1 implements IntSupplier {
? ? ConstantA(1),
? ? ConstantB(2),
? ? ConstantC(3);
? ? private final int number;
? ? private MyEnum1(int number) { this.number = number; }
? ? public int getAsInt() { return number; }
}
然后,您可以利用該接口來獲取正確鍵入的枚舉值(常量)列表:
IntSupplier[] myEnums = Class.forName("MyEnum1")
? ? ? ? ? ? .asSubclass(IntSupplier.class)
? ? ? ? ? ? .getEnumConstants();
并用它來獲取值:
for(IntSupplier value : myEnums) {
? ? ? ? System.out.println(value.getAsInt());
}
添加回答
舉報