vector在java中用什么_在java中使用Vector是否安全?

我写了以下java代码:

public static void main(String[] args) {

Vector vector = new Vector();

for(int i=1; i<=10; i++)

vector.addElement(i);

Enumeration vEnum = vector.elements();

while(vEnum.hasMoreElements())

System.out.println(vEnum.nextElement());

}

在编译它时会收到以下警告消息:

Note: TestJavaApplication.java uses unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

Netbeans抱怨“过时收藏”的消息.

在这种情况下,你推荐我什么?

注意,我需要在J2ME应用程序中使用Vector作为存储元素顺序的动态数组.我很乐意使用Hashtable但不幸的是它不存储其元素的顺序.

编辑1

在审查了this answer之后,我从Vector vector = new Vector()更改了声明;到Vector< String> vector = new Vector< String>();.现在又收到另一条警告信息:

TestJavaApplication.java:2: warning: com.sun.org.apache.xerces.internal.parsers.IntegratedParserConfiguration is Sun proprietary API and may be removed in a future release

import com.sun.org.apache.xerces.internal.parsers.IntegratedParserConfiguration;

^

谢谢.

解决方法:

您看到的关于“未检查或不安全操作”的警告是因为Vector是参数化类型.它实际上是Vector< E>,你应该在使用Vector时提供一个类型参数.如果您使用“原始”Vector,那么您将无法获得Java的泛型框架的任何优势. “不安全”警告意味着您错过了某种类型的安全性.

“过时类型”警告就在那里,因为Vector已经(基本上)不赞成使用List及其实现(ArrayList和LinkedList等).

各种List类型是Vector的通用替换. ArrayList可以用作Vector的一个或多或少的替代品,但是你应该注意一些差异.阅读javadocs以获取更多信息.

最重要的区别是Vector是线程安全的,但ArrayList和LinkedList不是.如果您依赖于Vectors内置线程安全性,那么您应该查看Collections.synchronizedList方法.

编辑:哦,你正在使用JavaME.在这种情况下,你可能会遇到Vector.然而,通用类型警告仍然适用.

如果您愿意,可以忽略警告.他们在那里告诉你,如果你不小心可能会有问题,但如果你小心,那你就没事了.

标签:java,vector,java-me

来源: https://codeday.me/bug/20190723/1511164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值