Android(Java):泛型與反射

private <T> T getFromList(List list,int id){
  try {
   if(null==list||list.isEmpty()){
    return null;
   }
   T t = null;
   Method method;
   Integer tid;
   for (T temp : (List<T>)list) {
    method = temp.getClass().getMethod("getUid", null);
    tid = (Integer) method.invoke(temp, null);
    if(tid==id){
     t = temp;
     break;
    }
   }
   return t;
  } catch (IllegalArgumentException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IllegalAccessException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (InvocationTargetException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SecurityException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (NoSuchMethodException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }
發佈了51 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章