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

溫馨提示×

java怎么獲取list泛型類型

小億
168
2024-01-12 13:52:41
欄目: 編程語言

在Java中,無法直接獲取List泛型類型,因為泛型在編譯時會進行類型擦除,運行時無法獲取到具體的泛型類型信息。

但是,可以通過一些間接的方法獲取到List泛型類型的信息。一種常見的方法是通過反射來獲取。

下面是一個示例代碼,演示了如何通過反射獲取List泛型類型:

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        Type genericType = list.getClass().getGenericSuperclass();

        if (genericType instanceof ParameterizedType) {
            Type[] actualTypeArguments = ((ParameterizedType) genericType).getActualTypeArguments();

            if (actualTypeArguments.length > 0) {
                Class<?> genericClass = (Class<?>) actualTypeArguments[0];
                System.out.println("List泛型類型為: " + genericClass.getName());
            }
        }
    }
}

在上面的代碼中,首先獲取List的Class對象,然后獲取其父類的泛型類型信息。如果該泛型類型是ParameterizedType類型,即帶有實際類型參數的泛型類型,就可以通過調用getActualTypeArguments()方法獲取到實際類型參數的數組。數組中的第一個元素即為List的泛型類型。

需要注意的是,上面的代碼假設List是直接繼承自ArrayList,如果List是直接實現了接口或者繼承了其他類,可能需要調整代碼中的getGenericSuperclass()方法。另外,如果List沒有指定泛型類型,那么getActualTypeArguments()方法返回的數組長度為0。

1
清水县| 平江县| 扶余县| 河曲县| 海林市| 肃宁县| 敦煌市| 鄄城县| 永吉县| 从化市| 木里| 保靖县| 合作市| 环江| 南平市| 朝阳县| 苍梧县| 正宁县| 吴桥县| 施秉县| 三门县| 金湖县| 峨边| 措勤县| 迁西县| 敖汉旗| 横峰县| 侯马市| 金沙县| 雷波县| 新密市| 突泉县| 灵寿县| 诸城市| 蒙阴县| 灌南县| 平湖市| 甘南县| 津市市| 绥中县| 离岛区|