1. 程式人生 > >retrofit請求網路時,針對泛型解析…

retrofit請求網路時,針對泛型解析…

package com.example.administrator.mydemol.util; import com.google.gson.internal.LinkedTreeMap; import java.lang.reflect.Field; import java.util.ArrayList; import timber.log.Timber; public class Convert2Bean { public static ArrayList convert(Class bean,ArrayList list){ ArrayList result = new ArrayList<>(); //獲取bean物件內的屬性: Field[] fields = bean.getDeclaredFields(); //迴圈遍歷list,獲取linkedTreeMap for(int i=0;i LinkedTreeMap map = (LinkedTreeMap) list.get(i); try { T instance = (T) bean.newInstance(); for(Field field : fields) { Timber.e("===field=="+field.getType()); Timber.e("==="+(field.getType()==String.class)); field.setAccessible(true); field.set(instance, map.get(field.getName())); } result.add(instance); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return result; } }