美文网首页
Entity实体类通过反射机制设置属性默认值

Entity实体类通过反射机制设置属性默认值

作者: anjian8000 | 来源:发表于2020-03-05 12:38 被阅读0次

有一个同事反馈,说是实体类如果返回null的时候,能不能返回中划线(-),我们一般做法是不是每个属性值都要先判断一下,但是有的实体类(Entity)属性值特别多,这样每个都设置,是不是很麻烦的!

后来通过反射机制可以对属性很好的处理,设置一个初始值

1、首先定义一个实体类

public class Car {

private String name;

private String junitString;

private Integer age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getJunitString() {

return junitString;

}

public void setJunitString(String junitString) {

this.junitString = junitString;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {this.age = age;}}

2、通过反射机制处理

public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException{

Car car = new Car();

car.setName("张三");

Class<Car> cls = Car.class;

Field[] filFields = cls.getDeclaredFields();

for (Field field : filFields) {

// 获取属性值名称

System.out.println("field:" + field.getName());

// 私有的成员是受保护的,不能直接访问

field.setAccessible(true);

// 获取属性的类型

String type = field.getGenericType().toString();

// 获取属性值

Object value = field.get(car);

if(value == null && type.equals("class java.lang.String")) {

field.set(car, "-");

}

}

}

相关文章

网友评论

      本文标题:Entity实体类通过反射机制设置属性默认值

      本文链接:https://www.haomeiwen.com/subject/mhfxrhtx.html