[英]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.