Bak*_*yor 3 java vector java-me
我写了以下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());
}
Run Code Online (Sandbox Code Playgroud)
在编译它时会收到以下警告消息:
Note: TestJavaApplication.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Run Code Online (Sandbox Code Playgroud)
Netbeans抱怨"过时收藏"的消息.
在这种情况下,你推荐我什么?
注意,我需要在J2ME应用程序中使用Vector作为存储元素顺序的动态数组.我很乐意使用Hashtable但不幸的是它不存储其元素的顺序.
编辑1
审查后,这个答案我从改变报关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;
^
Run Code Online (Sandbox Code Playgroud)
谢谢.
您看到的关于"未检查或不安全操作"的警告是因为Vector它是参数化类型.实际上Vector<E>,您应该在使用时提供类型参数Vector.如果您使用"原始",Vector那么您将无法获得Java的泛型框架的任何优势."不安全"警告意味着您错过了某种类型的安全性.
"过时类型"警告是存在的,因为Vector已经(基本上)不赞成使用List它的实现(ArrayList以及LinkedList其他).
各个List类型是通用的替代品Vector.ArrayList可以作为一个或多或少的替代品Vector,但你应该注意一些差异.阅读javadocs以获取更多信息.
最重要的区别是,Vector是线程安全的,但ArrayList并LinkedList没有.如果您依赖于Vector内置的线程安全性,那么您应该看一下该Collections.synchronizedList方法.
编辑:哦,你正在使用JavaME.Vector在这种情况下,你可能会陷入困境.然而,通用类型警告仍然适用.
如果您愿意,可以忽略警告.他们有没有告诉你,如果你不小心有可能是一个问题,但如果你是细心,你会没事的.
| 归档时间: |
|
| 查看次数: |
1411 次 |
| 最近记录: |