猿问

新年好,请教个问题啊,关于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; 

     } 


紫衣仙女
浏览 828回答 2
2回答

扬帆大鱼

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

哆啦的时光机

还有这种写法的:意味着submit的函参job和listener,以及返回值是相同类型,适用于线程池public Future submit(Job job, FutureListener listener) {&nbsp; &nbsp; Worker<T> w = new Worker<T>(job, listener);&nbsp; &nbsp; mExecutor.execute(w);&nbsp; &nbsp; return w;}
随时随地看视频慕课网APP

相关分类

Java
我要回答