一个类里面定义了很多常量
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 2021-04-20 09:05:09 +08:00
这不典型的反射场景吗
|
2
Littlerain 2021-04-20 09:13:54 +08:00
```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 2021-04-20 09:14:50 +08:00 via Android
常量完全可以存 enum,然后 getValues()
|
5
hello2060 OP 谢谢各位,确实可以用反射,谢谢啦
|