新年好,请教个问题啊,关于java泛型如何理解<T extends View> T

  1. 描述你的问题

T 这里怎么理解,一般理解List,T代表未知有待传入的实参,那么 T这种写法如何理解,为什么尖括号在前面,里面还继承T?求帮理解。

另外,除夕了,新年快乐啊

  1. 贴上相关代码

 public <T extends View> T getView(int viewId) { 
         View view = views.get(viewId); 
         if (view == null) { 
             view = convertView.findViewById(viewId); 
             views.put(viewId, view); 
         } 
         return (T) view; 
     } 
阅读 8k
2 个回答

<T extends View>是声明这是一个泛型方法,同时extends View限制了返回的T类型必须是View的子类

还有这种写法的:意味着submit的函参job和listener,以及返回值是相同类型,适用于线程池
public Future submit(Job job, FutureListener listener) {

    Worker<T> w = new Worker<T>(job, listener);
    mExecutor.execute(w);
    return w;

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏