亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java通過反射獲得泛型的實際類型參數

發布時間:2020-06-18 17:27:47 來源:億速云 閱讀:1076 作者:元一 欄目:編程語言

JAVA反射

JAVA中反射是動態獲取信息以及bai動態調用對象方法的du一種反射機制。Java反射就是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意方法和屬性;并且能改變它的屬性。而這也是Java被視為動態語言的一個關鍵性質。Java反射的功能是在運行時判斷任意一個對象所屬的類,在運行時構造任意一個類的對象,在運行時判斷任意一個類所具有的成員變量和方法,在運行時調用任意一個對象的方法,生成動態代理。

JAVA泛型

泛型是Java SE 1.5的新特性,泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。這種參數類型可以用在類、接口和方法的創建中,分別稱為泛型類、泛型接口、泛型方法。 Java語言引入泛型的好處是安全簡單。

在Java SE 1.5之前,沒有泛型的情況的下,通過對類型Object的引用來實現參數的"任意化","任意化"帶來的缺點是要做顯式的強制類型轉換,而這種轉換是要求開發者對實際參數類型可以預知的情況下進行的。對于強制類型轉換錯誤的情況,編譯器可能不提示錯誤,在運行的時候才出現異常,這是一個安全隱患。

泛型的好處是在編譯的時候檢查類型安全,并且所有的強制轉換都是自動和隱式的,以提高代碼的重用率。

把泛型變量當成方法的參數,利用Method類的getGenericParameterTypes方法來獲取泛型的實際類型參數

例子:

public class GenericTest {
    public static void main(String[] args) throws Exception {
        getParamType();
    }
    /*利用反射獲取方法參數的實際參數類型*/
    public static void getParamType() throws NoSuchMethodException{
        Method method = GenericTest.class.getMethod("applyMap",Map.class);
        //獲取方法的泛型參數的類型
        Type[] types = method.getGenericParameterTypes();
        System.out.println(types[0]);
        //參數化的類型
        ParameterizedType pType  = (ParameterizedType)types[0];
        //原始類型
        System.out.println(pType.getRawType());
        //實際類型參數
        System.out.println(pType.getActualTypeArguments()[0]);
        System.out.println(pType.getActualTypeArguments()[1]);
    }
    /*供測試參數類型的方法*/
    public static void applyMap(Map<Integer,String> map){
    }
}

輸出結果:

java.util.Map<java.lang.Integer, java.lang.String>
    interface java.util.Map
    class java.lang.Integer
    class java.lang.String
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正定县| 雷波县| 安乡县| 涿州市| 神农架林区| 营口市| 宝清县| 济南市| 庆元县| 五大连池市| 高密市| 英山县| 望江县| 清河县| 南溪县| 监利县| 信阳市| 曲周县| 武定县| 睢宁县| 措勤县| 梅河口市| 永和县| 瓮安县| 木兰县| 阳新县| 临泽县| 山西省| 铜陵市| 龙山县| 舞阳县| 原阳县| 泗水县| 太湖县| 普陀区| 静海县| 桃园县| 富顺县| 茂名市| 方正县| 郁南县|