
一个类里面定义了很多常量
public class Codes { static final public ErrorCode ISSUE_1 = new ErrorCode(XXX); static final public ErrorCode ISSUE_2 = new ErrorCode(XXX); // 一共上百个定义 } 现在要一个 Codes.getAll() 返回所有定义的 ErrorCode 。
请问有啥好点的方法吗?
1 jjwjiang Apr 20, 2021 这不典型的反射场景吗 |
2 Littlerain Apr 20, 2021 ```java static List<ErrorCode> errorCodes; static { errorCodes = = new ArrayList<>(); for(Field f : Codes.class.getDeclaredFields()) { if (f.getType() == ErrorCode.class) { ErrorCodes.add(f.get(new ErrorCode())) } } } ``` |
3 hhyyd Apr 20, 2021 via Android 常量完全可以存 enum,然后 getValues() |
5 hello2060 OP 谢谢各位,确实可以用反射,谢谢啦 |