程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用Java程序的泛型應該注意的幾個地方

使用Java程序的泛型應該注意的幾個地方

編輯:關於JAVA

1、不可以用一個本地類型(如int float)來替換泛型

2、運行時類型檢查,不同類型的泛型類是等價的(Pair與Pair是屬於同一個類型Pair),這一點要特別注意,即如果a instanceof Pair==true的話,並不代表a.getFirst()的返回值是一個String類型

3、泛型類不可以繼承Exception類,即泛型類不可以作為異常被拋出

4、不可以定義泛型數組

5、不可以用泛型構造對象,即:first = new T(); 是錯誤的

6、在static方法中不可以使用泛型,泛型變量也不可以用static關鍵字來修飾

7、不要在泛型類中定義equals(T x)這類方法,因為Object類中也有equals方法,當泛型類被擦除後,這兩個方法會沖突

8、根據同一個泛型類衍生出來的多個類之間沒有任何關系,不可以互相賦值,即:

Pair p1; Pair p2; p1=p2; 這種賦值是錯誤的。

9、若某個泛型類還有同名的非泛型類,不要混合使用,堅持使用泛型類

Pair < Manager > managerBuddIEs = new Pair < Manager >(ceo, cfo);

Pair rawBuddies = managerBuddIEs;

這裡編譯器不會報錯,但存在著嚴重的運行時錯誤隱患。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved