在JAVA 1.5中LinkedList类 声明为泛型的 public class LinkedList<E>
如果我在实例化LinkedList对象时不指定什么类型 ,那它默认为什么类型呢?
比如:
LinkedList L = new LinkedList(); //没有指定类型, 下面代码都能正常执行。
L.add("hello");
L.add(123435);
System.out.println(L.getFirst());
System.out.println(L.getLast());
但是下面的代码中指定成String类型就出错了。
LinkedList<String> L = new LinkedList(); //指定为String类型
L.add("hello");
L.add(123435); //这里报错了 cannot find symbol; symbol : method add(int),
System.out.println(L.getFirst());
System.out.println(L.getLast());
大家能解释下原因吗?谢谢!
如果我在实例化LinkedList对象时不指定什么类型 ,那它默认为什么类型呢?
比如:
LinkedList L = new LinkedList(); //没有指定类型, 下面代码都能正常执行。
L.add("hello");
L.add(123435);
System.out.println(L.getFirst());
System.out.println(L.getLast());
但是下面的代码中指定成String类型就出错了。
LinkedList<String> L = new LinkedList(); //指定为String类型
L.add("hello");
L.add(123435); //这里报错了 cannot find symbol; symbol : method add(int),
System.out.println(L.getFirst());
System.out.println(L.getLast());
大家能解释下原因吗?谢谢!
默认的应该是
LinkedList <Object> L = new LinkedList()
LinkedList <String > L = new LinkedList();
这种写法不对的,正确的是
LinkedList <String > L = new LinkedList<String>(); ,这样表示数组L中只接受类型是String的而L.add(123435);传递的是int,当然出错