程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> 在Eclipse 3.1中體驗J2SE 5.0的新特性: 第三部分 :范型(1)

在Eclipse 3.1中體驗J2SE 5.0的新特性: 第三部分 :范型(1)

編輯:J2SE

J2SE 5.0 (Tiger)的發布是Java語言發展史上的一個重要的裡程碑, 是迄今為止在 Java 編程方面所取得的最大進步。
 
J2SE 5.0提供了很多令人激動的特性。這些特性包括范型(generics)的支持, 枚舉類 型(enumeration)的支持, 元數據(metadata)的支持, 自動拆箱(unboxing)/裝箱 (autoboxing), 可變個數參數(varargs), 靜態導入(static imports), 以及新的線程架 構(Thread framework)。
 
隨著J2SE 5.0的推出, 越來越多的集成開發環境(IDE)支持J2SE 5.0的開發。著名的開源Java IDE Eclipse從3.1M4開始支持J2SE 5.0的開發, 目前最新的版本是3.1RC4。
 
本系列將介紹J2SE 5.0中三個比較重要的特性: 枚舉類型, 注釋類型, 范型, 並在此 基礎上介紹在如何在Eclipse 3.1開發環境中開發枚舉類型, 注釋類型和范型應用。本文 將介紹范型。
 
3. 范型
 
3.1范型(Generics)簡介
 
J2SE 5.0中的最顯著的變化之一是添加對泛型類型的支持. 在J2SE 1.4 以及之前的版 本中, Java程序並不是類型安全的. 例如, Collection framework中定義的List, Map等 容器類的元素都是Object類型, 即這個類包含的元素是Object對象. 使用這種方式實現的 列表, 可以用來操作整數, 實數, 字符串或者任何對象類型. 例如
 
清單3.1.1 類型不安全的代碼示例
 
List stringList = new ArrayList();
 stringList.add("abcde");
 String str = (String)stringList.get(0);
 
這種方法實現的列表需要使用強制類型轉換(又稱顯示造型), 因此不是類型安全的. 在上面這段代碼種, 雖然變量名為stringList, 但是我們仍然可以把一個整型對象添加到 這個隊列中, 例如,
 
清單3.1.2 類型不安全的代碼示例
 
stringList.add(new Integer(5));
 
在這種情況下, 從字符列表中獲取對象時, 強制類型轉換就會導致運行時異常.
 
清單3.1.3 類型不安全的代碼示例
 
String str = (String)stringList.get(1); //runtime exception
 
范型是Java邁向類型安全的一個重要步驟, 使用范型可以構造出類型安全的代碼.
 
3.2聲明范型
 
所謂范型是指類型參數化(parameterized types). Java是一種強類型的語言, 在J2SE 1.4以及以前的版本中, 我們在定義一個Java類, 接口或者方法的時候, 必須指定變量的 類型. 在聲明范型類、接口或者函數時, 定義變量的時候不指定某些變量的具體類型, 而 是用一個類型參數代替. 在使用這個類, 接口, 或者方法的時候, 這個類型參數由一個具 體類型所代替.
 
3.2.1 范型類
 
下面的例子中介紹了如何創建一個最簡單范型類
 
清單3.2.1, 最簡單的范型類
 
public class GenSample<T> {}
 
類名後面帶有<T>表明了這個類是范型類, 其中T被成為類型參數(type parameter), 在使用范型的時候, 類型參數可以被替換為任何的類類型, 但是不能是原始 類型(primitive type), 例如int, double.

本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201104/25425.htm

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