如何通过动态的Key获取常量类的Value值
1、出现的背景
随着业务逻辑的逐渐复杂,代码的可用性要求越来越高,同时也诞生了常量类这个概念,这个类是为了规范编码过程中各种常量的定义,美化代码…
如下业务场景
常量类中的key值不是确定的,需要从接口中动态获取,同时拼接后,才去获取常量类的value值
2、解决办法
针对以上情况,再不违反项目组编码规范的情况下可以用如下解决办法
// 通过反射获取常量的值
public String getSyncDataConst(String key) {
String value = "";
try {
Field field = this.getClass().getField(key.toUpperCase());
value = field.get(this).toString();
}catch (Exception e){
e.printStackTrace();
}
return value;
}
3、原理分析
反射可以获取程序运行过程中的所有信息,但是注意的是反射的性能较低,频繁使用对接口的效率会有影响,所以对响应时间要求较高的接口,应该避免使用这种方式