載體在Java中的下列有效:創建對象的Java中
public Vector <Object> objVector = new Vector <Object>(50);
我知道默認的值存儲爲對象,但我想知道如何按類型來約束內容.. 。
感謝
載體在Java中的下列有效:創建對象的Java中
public Vector <Object> objVector = new Vector <Object>(50);
我知道默認的值存儲爲對象,但我想知道如何按類型來約束內容.. 。
感謝
我想你在找什麼是generics:
public Vector<String> objVector = new Vector<String>(50);
這是古代的代碼。
使用泛型,並使用現代集合類型(don't use Vector),那麼你得到的編譯時自動檢查:
List<String> list = new ArrayList<String>()
list.add(new Foo()); // compile-time failure
list.add("SomeString"); // ok
+1爲不使用矢量 – Heisenbug 2011-05-18 09:44:02
它適用於考試。我從來不會使用矢量,但不幸的是我正在測試它們。 – user559142 2011-05-18 10:05:29
Jeez,那些教授什麼時候會獲得新材料?矢量已經過時很多很多年了! – 2011-05-18 10:15:19
I would like to know how to restrain the contents by type...
在實例向量只需指定類型:
public Vector <concreteType> objVector = new Vector <concreteType>(50);
使用泛型可以指定基於層次結構的類型r限制:
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();
它構造一個空向量,這種類型的載體可以「添加」整數,布爾值,一個ArrayList的和其他的基本數據類型和引用。
如果通過「有效」您的意思是「它編譯」,那麼爲什麼不試試呢? – Jesper 2011-05-18 10:13:24