有一个常量类,如下:
[code="java"]public class Constants {
public static final String AA = "aa";
public static final String BB = "bb";
public static final String CC = "cc";
}[/code]
现在要写一个读取常量的工具类,我实现的写法如下:
[code="java"]import java.lang.reflect.Field;
import Constants;
public class ConstantsUtil {
public static String get(String key){
Constants c=new Constants();
Field[] fields = c.getClass().getDeclaredFields();
for(int i=0;i<fields.length;i++){
String varName = fields[i].getName();
if(varName.equals(key)){
try {
Object o = fields[i].get(c);
return o.toString();
} catch (Exception e){
}
}
}
return null;
}
}[/code]
但是感觉get()方法执行过程中先创建一个Constants的对象似乎很没必要,但是对反射不是很了解,问该怎么修改