为什么Java Vector被认为是遗留类,已过时或已弃用?
在使用并发时,它的使用是否有效?
如果我不想手动同步对象而只想使用线程安全的集合而不需要制作底层数组的新副本(就像CopyOnWriteArrayList那样),那么它可以使用Vector吗?
怎么样Stack,这是一个子类Vector,我应该怎么用,而不是它?
我无法初始化List,如下面的代码所示:
List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
Run Code Online (Sandbox Code Playgroud)
我面临以下错误:
无法实例化该类型
List<String>
我该如何实例化List<String>?
我试图在Java中研究不同的异常并遇到OutOfMemoryError,我想在工作中看到它,所以我编写了以下程序,通过在无限循环中创建它们来创建无限对象.该程序确实进入无限循环,它不会抛出OutOfMemoryError异常.
class Test {
public static void main(String...args) {
while(true) {
Integer i = new Integer();
}
}
}
Run Code Online (Sandbox Code Playgroud) 看起来当用Java编程时,我们不想在涉及线程时再使用Vectors.
使用线程时,我应该使用什么类而不是Vector?
import java.util.Vector;
Vector<String> v = new Vector<String>();
Run Code Online (Sandbox Code Playgroud) 检查报告java.util.Vector或java.util.hashtable的任何用途.虽然仍然受支持,但这些类已被JDK 1.2 Collection类淘汰,并且可能不应该用于新的开发....
我有一个Java项目,使用vector Everywhere,我使用的是最新的JDK 8.我想知道我是否可以在最新的java上运行该应用程序.
并告诉我是否可以使用其他关键字为ArrayList,如Vector for new java.
我知道如何在点i访问数组,以及如何在点i访问向量,但我无法弄清楚如何访问向量内的数组.我基本上是在寻找能够做到这一点的代码:
Vector.get(0).[i];
Run Code Online (Sandbox Code Playgroud)
(所以数组的访问点i位于向量的第一个点)
我有这个问题,
java中的向量只接受对象吗?但这段代码编译得很好
Vector myv=new Vector();
myv.addElement(1);
myv.addElement(1);
Run Code Online (Sandbox Code Playgroud)
它将它封装为Integer的对象吗?如果确实如此,为什么要这样说
System.out.println(myv.elementAt(0)==myv.elementAt(1));
Run Code Online (Sandbox Code Playgroud)
真的吗!!! 他们应该是两个不同的对象......?
同时此语句抛出一个错误,确保该元素是一个对象.
int x=myv.elementAt(0);
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解释一下吗?谢谢.