时间:2022-06-17 08:35:17 | 栏目:JAVA代码 | 点击:次
主要适用于,对象中使用了包装类,但是不能给null需要有默认值的情况
/**
* 处理对象中包装类,因为快捷签没有用包装类
*
* @param object 对象
*/
public static void handleParamDefault(Object object) {
Class<?> aClass = object.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
for (Field field : declaredFields) {
//遍历所有字段
if (field.getType().equals(Integer.class)) {
// 处理Integer
setValue(object, field, 0);
}
if (field.getType().equals(Boolean.class)) {
// 处理Boolean
setValue(object, field, Boolean.TRUE);
}
}
}
/**
* 设置默认值
*
* @param object 待处理对象
* @param field 字段
* @param t 包装类值
* @param <T> 包装类
*/
public static <T> void setValue(Object object, Field field, T t) {
boolean accessible = field.isAccessible();
field.setAccessible(true);
try {
if (field.get(object) == null) {
field.set(object, t);
}
field.setAccessible(accessible);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
String 默认nullBoolean默认falseint默认0double默认0.0类中使用自定义类定义属性默认值:null
在定义属性的时候可以指定默认值