package com;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Locale;
public class SetterGetterMapUtil {
private Object obj;
private HashMap objSetHashMap;
private HashMap objGetHashMap;
public SetterGetterMapUtil(Object obj) {
this.obj = obj;
objSetHashMap = new HashMap();
objGetHashMap = new HashMap();
map();
}
public Object getGetter(String fieldName) {
return objGetHashMap.get(fieldName);
}
public Object getSetter(String fieldName) {
return objSetHashMap.get(fieldName);
}
private void map() {
if (obj == null) {
throw new RuntimeException("空指针异常,请调整>>SetterGetterMapUtil()<<的参数!");
}
Class c = obj.getClass();
Method[] objMethod = c.getMethods();
for (int i = 0; i < objMethod.length; i++) {
String methodName = objMethod[i].getName();
if (methodName.startsWith("set")) {
objSetHashMap.put(getFieldName(methodName.substring(3)), methodName);
} else if (methodName.startsWith("get")) {
objGetHashMap.put(getFieldName(methodName.substring(3)), methodName);
}
}
}
private String getFieldName(String fieldName) {
return fieldName.substring(0, 1).toLowerCase(Locale.ROOT) + fieldName.substring(1);
}
}
Java基础之Getter、Setter工具
最新推荐文章于 2023-12-07 16:52:04 发布