您只有7种基本类型和一种引用类型要检查。如果将所有Number类型分组在一起,则只有四个要检查的值。
Object o =for (Field field : o.getClass().getDeclaredFields()) { Class t = field.getType(); Object v = field.get(o); if(t == boolean.class && Boolean.FALSE.equals(v)) // found default value else if(t == char.class && ((Character) v).charValue() == 0) // found default value else if(t.isPrimitive() && ((Number) v).doublevalue() == 0) // found default value else if(v == null) // found default value}


