📄 fieldsreflect.java
字号:
package org.storm.xwguan.parse;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import org.storm.xwguan.interfaces.IForm;
import org.storm.xwguan.util.Constants;
public class FieldsReflect {
private Class<? extends IForm> c;
private Field[] fields;
private IForm form;
// 保存form中不为空的查询字段值
private Map<String, String> values = new HashMap<String, String>();
private Map<Integer, String> names = new HashMap<Integer, String>();
public void init() {
c = form.getClass();
fields = c.getDeclaredFields();
}
/**
* 功能:将form中的所有不为空值的字段反射出并保存在values中
*
* @throws Exception
*/
private void getFieldsinfo() throws Exception {
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
String fieldName = field.getName();
names.put(i, fieldName);
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String getMethodName = Constants.GET + firstLetter
+ fieldName.substring(1);
Method getMethod = c.getMethod(getMethodName, new Class[] {});
Object o = getMethod.invoke(form, new Object[] {});
if (o != null && !o.toString().trim().equals(Constants.K15)) {
values.put(fieldName, o.toString());
}
}
}
public FieldsReflect() {
}
public FieldsReflect(IForm form) throws Exception {
this.form = form;
init();
getFieldsinfo();
}
public void setForm(IForm form) {
this.form = form;
}
public Map<String, String> getValues() {
return values;
}
public Map<Integer, String> getNames() {
return names;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -