判斷 java.lang.reflect.Field 的數據類型是否爲數值類型

what

見題思意

before

1. 定義 Set<Class<?>> 靜態不可變常量
2. 把已知的數值類型 add
3. 獲取 field.getType **數據**類型 tempClazz
4. 判斷該 set 集合中是否存在 tempClazz
5. 。。。

now

/** 
 * @param targetClazz java.lang.reflect.Field 的數據類型 clazz。 getType 方法獲取
 * @return
 */
boolean isNumberType(Class<?> targetClazz) {
    // 判斷包裝類
    if (Number.class.isAssignableFrom(targetClazz)) {
        return true;
    }
    // 判斷原始類,過濾掉特殊的基本類型
    if (targetClazz == boolean.class || targetClazz == char.class || targetClazz == void.class) {
        return false;
    }
    return targetClazz.isPrimitive();
}
發佈了80 篇原創文章 · 獲贊 16 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章