结果:
代码:
public class ClassCheck {
public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
User user = new User();
user.setId(1L);
user.setAge(5000);
user.setName("中国");
Company company = new Company();
company.setId(1);
company.setAddress("亚洲");
checkClass(user);
}
public static void checkClass(Object object) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
//获取所有类的属性=
Field[] fields = object.getClass().getDeclaredFields();
//遍历所有属性
for (int i = 0; i < fields.length; i++) {
//设置可以访问私有变量
fields[i].setAccessible(true);
//获取属性类型
String type = fields[i].getGenericType().toString();
//获取属性名称
String name = fields[i].getName();
System.out.println("当前类型为:" + type + " 当前名称为:" + name);
StringBuilder stringBuilder = new StringBuilder(name);
String str = name.substring(0,1).toUpperCase(Locale.ROOT);
stringBuilder.replace(0,1,str);
System.out.println("当前的属性名称为:" + stringBuilder);
//endsWith是否一指定后缀为结尾
if (type.endsWith("String")) {
//获取get方法
Method method = t.getClass().getMethod("get" + stringBuilder);
//通过get方法获取属性值
String value = String.valueOf(method.invoke(object));
System.out.println("get方法获取的值为:" + value);
}
}
}
}
public class User {
private Long id;
private Integer age;
private int shengao;
private Byte sex;
private String name;
private String EName;
private Company company;
public int getShengao() {
return shengao;
}
public void setShengao(int shengao) {
this.shengao = shengao;
}
public String getEName() {
return EName;
}
public void setEName(String EName) {
this.EName = EName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Byte getSex() {
return sex;
}
public void setSex(Byte sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
}
public class Company {
private Integer id;
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}