/* * 泛型: * 泛型是JDK1.5使用的新特性,低于1.5的版本無法使用; * 聲明集合中只能存放的數據類型,定義: * CollectionType>dataType> var = ; *?
?* 優(yōu)點: :
?1. 將運行時的問題放在編譯時就拋出; *?
2. 避免了無謂的強制類型裝換; *??
* 注意:集合中沒有多態(tài)的概念(左右兩邊的數據類型不一致),左右連邊的類型要一致或者只寫一邊的泛型: * 盡量兩邊都寫泛型;?
* 泛型在集合中的常見應用:
?* ArrayListlist = new ArrayList(); 官方推薦??
?兼顧對象的新老版本兼容性
?* ArrayList list = new ArrayList();?
* ArrayListlist = new ArrayList();
* 自定義泛型:一個數據類型的占位符或是一個數據類型的變量,僅僅是占位符,只要符合標識符命名規(guī)則就可以。
* 1. 方法上使用自定義泛型
* 修飾符 <自定義泛型>返回值類型 函數名(<自定義泛型>){
*
* }
*
* 注意:
* 1. 在方法上自定義泛型,該泛型的類型實在調用該方法時傳入的實參決定的。
* 2. 在泛型中不能使用基本數據類型,要使用基本數據類型的話就要使用其對應的包裝類型。
*? 3. 自定義泛型的名稱符合標識符命名規(guī)則就可以了,一般經常使用T Type或是Element E
*
*/
public class Demo8 {
/*
* 定義一個函數可以接收任意類型的數據,返回值類型必須和實參的類型一致.
*/
public static void main(String[] args){String data = "Hello world";System.out.println(getData(data));}public staticT getData(T o){
return o;
}
}