栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用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.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号