摘要 调研java Class getDeclaredFields() 与getFields()的区别,设计请求参数为Javabean时,基于反射机制校验其中非空变量的公共方法。
java Class getDeclaredFields() 与getFields()的区别
概述:
(1)getDeclaredFields() 返回Class中所有的字段,包括私有字段;
(2)getFields 只返回公共字段,即由public修饰的字段。
测试之前,请定义一个代表员工的EmployeeDTO类,成员变量访问控制修饰符包括public等,当前,实际定义Javabean的时候,成员变量的控制修饰符是只可以为private的。
public classEmployeeDTO {publicInteger id;privateString sex;privateString name;protected String job; //职位
public Integer jobNumber;//工号
private floatsalary;
String phone;//省略get、set方法
}
测试用例,一个main函数:
public classValidationTest {public static voidmain(String[] args) {//testGetDeclaredFields();//System.err.println(" ==================== ");//testGetFields();