以下将起作用:
Vector<Integer> moves = new Vector<Integer>();
move.add(new Integer(x));
<>
(如果为Vector
,E
则为要保存的元素的type参数)内部的类型名称告诉编译器应期望的对象类型。
如果尝试添加一个指定类型的对象(例如,在这种情况下,尝试添加String
和)Vector<Integer>
,则会发生编译时错误,这表明正在使用一种非预期类型的??对象添加。
就是说,应该尽量不要使用Vector
该类。为了更多的目的,List
例如ArrayList
从Java Collections Framework实现的类就足够了,并且性能更好。
尽管与泛型问题没有直接关系,但亚当·佩恩特(Adam Paynter)在有关使用自动装箱的评论中提出了一个很好的观点。
从Java 5开始,原语及其包装类(例如int
和)Integer
将根据需要在彼此之间自动转换。
因此,可以将指定为int
或int
文字的值添加到期望包含的类中Integer
:
Vector<Integer> v = new Vector<Integer>();
v.add(5); // Not necessary to use an Integer value.