为了账号安全,请及时绑定邮箱和手机立即绑定

Java源代码中泛型的提问?

Java源代码中泛型的提问?

慕工程0101907 2019-03-13 14:15:34
**在查看JDK源代码的时候,常会发现如下几种类型:?、T、Object、K、V、E,众所周知,?代表的是不确定的Java类型,T代表实际使用之前就已经确定的Java类型,Ojbect是所有类的基类,在强制转换的时候,可以被频繁使用,K和V表示的是key,value,E代表的是Element,Element是元素的意思,表示它是作为一个集合的元素。但是源码中有的时候用的是E,有的时候用的是V,它们在表示单一的类型的时候有什么区别呢?比如:**1.Callable接口,为什么用的是V  public interface Callable<V> {        V call() throws Exception;    }2.List接口中为什么使用Epublic interface List<E> {            void add(E x);            Iterator<E> iterator(); }得出的结论:V、E、T代表的是一种类型,并没有实质的区分。就好像在数学中,变量x y z都表示变量名,在同一环境下,区分开来是三个不同的变量。
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

用什么都是一样的,没有区别,T、K、V、E他们仅仅是一个名而已,取不同的名只是为了告诉我们这个类型数据所代表的含义。


查看完整回答
反对 回复 2019-04-18
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

?是个关键字,表示匹配任意类型,其他的T,K,V之类的都没有区别,自己选择喜欢的字母就可以了。


查看完整回答
反对 回复 2019-04-18
?
MM们

TA贡献1886条经验 获得超2个赞

用什么都一样,如你真想知道你去问作者为什么要用这几个字母。


查看完整回答
反对 回复 2019-04-18
  • 3 回答
  • 0 关注
  • 464 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号