使用Vector的Java警告:未选中的add(E)调用

使用Vector的Java警告:未选中的add(E)调用,第1张

使用Vector的Java警告:未选中的add(E)调用

问题在于上面的代码没有使用泛型。

以下将起作用:

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.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5507776.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存