A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王春蕾 中级黑马   /  2014-5-15 15:37  /  1254 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学习泛型的时候,一直对Collection<E>中的E和Comparator<T>中的T的区别感到疑惑,请问这两者之间到底有什么区别啊?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
完全没有任何区别,这仅仅是一个标记而已,你可以使用T,也可以使用E,甚至用A都可以。使用E,是为了更好理解,代表element,T就不太情况代表什么了。
回复 使用道具 举报
上面说的没错其实大概是这个符号<>
里面可以放<A>  <B> <C> <D> 等
但是由于大家平时都用<E>或<T>,所以既然之前有人这样用了,且大家都这样用
那么我们也这么用,以后别人自然看你代码的时候就自然会懂
回复 使用道具 举报
没区别,仅仅是表示类型的多样化,你自己自定义泛型试试,仅仅是表示一个对象
回复 使用道具 举报
这个没多大区别吧,那只是在外部指定泛型类型,可以是任意的字符!!
  1. package Demo;
  2. class Print<T>{  //此处设置泛型
  3.         private T var ;  //类型有外部决定
  4.         public T getVar(){  //返回值有外部决定
  5.                 return var ;
  6.         }
  7.         public void setVar(T var){  //设置类型有外部决定
  8.                 this.var = var ;
  9.         }
  10. }
  11. public class Demo3 {
  12.    public static void main(String args[]){
  13.            Print<Integer> p = new Print<Integer>() ;  //指定类型
  14.            p.setVar(30) ;
  15.            System.out.println(p.getVar()) ;
  16.    }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 很给力!

查看全部评分

回复 使用道具 举报
完全没区别,就相当于给一个对象或变量起个名字一样,写什么都可以。
回复 使用道具 举报
应该没有什么区别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马