获取字段为List类型中的泛型类型
生活随笔
收集整理的這篇文章主要介紹了
获取字段为List类型中的泛型类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在java編程時,經常會使用反射去處理對象,有時會需要知道List的泛型類型:示例操作如下
obj = pojo.newInstance();// 首先得到pojo所定義的字段Field[] fields = pojo.getDeclaredFields();for (Field curField : fields) {// 設置字段可訪問(必須,否則報錯)curField.setAccessible(true);Class<?> curFieldType = curField.getType();// 集合List元素if (curFieldType.equals(List.class)) {// 當前集合的泛型類型Type genericType = curField.getGenericType();if (null == genericType) {continue;}if (genericType instanceof ParameterizedType) {ParameterizedType pt = (ParameterizedType) genericType;// 得到泛型里的class類型對象Class<?> actualTypeArgument = (Class<?>)pt.getActualTypeArguments()[0];List<Object> curEleList = new ArrayList<>();Object actualType = actualTypeArgument.newInstance();//....actualType字段處理curEleList.add(actualType); curField.set(obj, curEleList);}}}總結
以上是生活随笔為你收集整理的获取字段为List类型中的泛型类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Data JPA 从入门到
- 下一篇: Remove Assignments t