您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

以下将起作用:

Vector<Integer> moves = new Vector<Integer>();

move.add(new Integer(x));

<>(如果为VectorE则为要保存的元素的type参数)内部的类型名称告诉编译器应期望的对象类型。

如果尝试添加一个指定类型的对象(例如,在这种情况下,尝试添加String和)Vector<Integer>,则会发生编译时错误,这表明正在使用一种非预期类型的??对象添加

就是说,应该尽量不要使用Vector该类。为了更多的目的,List例如ArrayListJava Collections Framework实现的类就足够了,并且性能更好。

尽管与泛型问题没有直接关系,但亚当·佩恩特(Adam Paynter)在有关使用自动装箱的评论中提出了一个很好的观点。

从Java 5开始,原语及其包装类(例如int和)Integer将根据需要在彼此之间自动转换。

因此,可以将指定为intint文字的值添加到期望包含的类中Integer

Vector<Integer> v = new Vector<Integer>();
v.add(5);    // Not necessary to use an Integer value.
java 2022/1/1 18:27:29 有473人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶