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