參考鏈接: Java中的對象類Object
處理方法如下?
主要適用于,對象中使用了包裝類,但是不能給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();
? ? ? ? }
? ? }