黑马程序员技术交流社区

标题: 有关泛型的小问题 [打印本页]

作者: 王春蕾    时间: 2014-5-15 15:37
标题: 有关泛型的小问题
学习泛型的时候,一直对Collection<E>中的E和Comparator<T>中的T的区别感到疑惑,请问这两者之间到底有什么区别啊?
作者: 别小乐    时间: 2014-5-15 15:48
完全没有任何区别,这仅仅是一个标记而已,你可以使用T,也可以使用E,甚至用A都可以。使用E,是为了更好理解,代表element,T就不太情况代表什么了。
作者: 暧緑荼    时间: 2014-5-15 15:52
上面说的没错其实大概是这个符号<>
里面可以放<A>  <B> <C> <D> 等
但是由于大家平时都用<E>或<T>,所以既然之前有人这样用了,且大家都这样用
那么我们也这么用,以后别人自然看你代码的时候就自然会懂
作者: vihuela    时间: 2014-5-15 15:58
没区别,仅仅是表示类型的多样化,你自己自定义泛型试试,仅仅是表示一个对象
作者: 心?=忐§忑]    时间: 2014-5-15 22:21
这个没多大区别吧,那只是在外部指定泛型类型,可以是任意的字符!!
  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. }
复制代码

作者: 郑云斌    时间: 2014-5-16 09:43
完全没区别,就相当于给一个对象或变量起个名字一样,写什么都可以。

作者: 张志民    时间: 2014-5-16 12:36
应该没有什么区别




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2