StLinkedListack<String> list = new LinkedList<String>();
StLinkedListack list = new LinkedList();我的疑问主要在是否要加“<数据类型>”这里,感觉不加“<数据类型>”也不影响程序的运行啊?加了反而限制了数据类型的使用

解决方案 »

  1.   

    这是泛型,也就是说在LinkedList中装的要求都是"<>"所要求的类型,这样做的好处在于能够尽量的避免类型的相互转换
      

  2.   

    不影响,不加泛型的list里面的对象取出来的时候强制转换下再用
      

  3.   

    楼主的方法当然可以,不过API方法里面很多都要求传Object类型,如果每次都要转换,那太麻烦了
      

  4.   

    如果你要存放任意的数据类型,那就不加,默认是Object,如果不是的话,还是声明一下比较好,就可以不进行强制类型转换了,效率也会高,也不用判断类型,这在有时候是很重要的
      

  5.   

    这是泛型,这样的话就不用每次取list里的值的时候还要转换。
      

  6.   

    楼上都说了,反映成代码就是:
    对于StLinkedListack <String> list = new LinkedList <String>(); 
    如果你要取得第一个元素,直接 String str=list.get(0);而对于StLinkedListack list = new LinkedList(); 
    如果你要取得第一个元素,假设依然是String类型,你就得用 String str=(String)list.get(0);
    因为这时候取出来的list.get(0)是Object类型的,要强制类型转换成String类型
      

  7.   

    这个是泛类型的问题,如果你加了<数据类型>,这个list里所存的对象的类型相同,就是你加的那个数据类型,如果不加的话,你这个list里面可以add String,Object,Integer或者其它的自己定义的一些类