繁体   English   中英

用Java创建对象向量

[英]Creating a Vector of Objects in Java

Java中的以下内容是否有效:

public Vector <Object> objVector = new Vector <Object>(50);

我知道默认情况下,值存储为对象,但我想知道如何按类型约束内容...

谢谢

这是古老的代码。

使用Generics,并使用现代集合类型( 不要使用Vector ),然后自动获得编译时检查:

List<String> list = new ArrayList<String>()
list.add(new Foo()); // compile-time failure
list.add("SomeString"); // ok

我认为你在寻找的是泛型

public Vector<String> objVector = new Vector<String>(50);
 I would like to know how to restrain the contents by type... 

只需在实例化向量时指定类型:

public Vector <concreteType> objVector = new Vector <concreteType>(50);

使用泛型,您可以指定基于层次结构的类型限制:

class yourClass<TYPE extends SomeType>{

     public yourClass(){
           public Vector <TYPE> objVector = new Vector <TYPE>(50);
     }
}

在最后一个示例中,TYPE可以是扩展SomeType(包含SomeType)的任何类型。 您可以使用关键字implements来将TYPE的类型限制为接口而不是类。

通过'有效',它的语法很好:

public Vector <Object> objVector = new Vector <Object>(50);

在我正在使用的NetBeans平台8:0:2中,它将显示一个过时的集合 ,使用ArrayList要好得多,尽管Vector有一个优点,它可以存储几乎任何东西。

声明:

Vector v = new Vector();

其中构造一个空Vector,这种类型的Vector可以'添加'整数,布尔值,一个ArrayList和其他原始数据类型和引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM