用Java创建对象向量

时间:2011-05-18 09:04:45

标签: java generics vector

以下是否在Java中有效:

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

我默认知道这些值存储为对象,但我想知道如何按类型限制内容...

由于

4 个答案:

答案 0 :(得分:9)

这是古老的代码。

使用泛型,并使用现代集合类型(don't use Vector),然后自动获得编译时检查:

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

答案 1 :(得分:2)

我认为你要找的是generics

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

答案 2 :(得分:1)

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的类型限制为接口而不是类。

答案 3 :(得分:0)

有效的&#39;,它的语法很好:

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

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

宣言:

Vector

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