泛型的使用方法以及注意事項

2021-07-10 04:17:31 字數 1243 閱讀 4525

/*1使用泛型可以解決型別轉換的問題:在編譯器發現問題,而不是執行期才發現

* 2泛型只能是引用型別,不能是基本型別

* 3方法中如果有泛型,那麼傳入的引數型別必須和方法中宣告的型別完全一致

* 如果希望方法中的泛型可以接收任意型別那麼不能使用object,可以使用萬用字元?(問號)

* 4乙個泛型類的引數可以是一般的引用型別的引數,也可以是乙個泛型類

* 5泛型類可以是繼承泛型類

* 6在泛型中不可以用泛型的變數加乙個泛型的變數

* */

class    more

//多參型別的返回值方法

public k getnumber(k number)

}public class generic

//用來測試泛型的主函式

public static void main(string args)

public static void show1(baseb)

// 使用萬用字元?(無限定型)來使用泛型可以接收任意型別

public static void show2(base<?> b)

public static void show3(base<? extends number> b)

public static void show4(base<? super string> b)

}class base

class integerdemo

//建立乙個學生物件作為最終的引數

class stud

public string  tostring ()

}class gendemo

public gendemo (t data)

public t getdata()

public void setdata(t data)

}//建立乙個父類讓子類去繼承

class superclass

public t1 show1()

}//建立乙個介面讓子類泛型去實現

inte***ce iinfor

//建立乙個子類,並繼承父類實現他的方法,實現乙個介面

class subclas***tends superclas******ments iinfor

public t1 show1()

//實現介面的方法

public void show2(t2 var3)

}

泛型使用注意事項

引數化型別可以引用乙個原始型別的物件,編譯報告警告,例如,collectionc new vector 可不可以,不就是編譯器一句話的事嗎?原始型別可以引用乙個引數化型別的物件,編譯報告警告,例如,collection c new vector 原來的方法接受乙個集合引數,新的型別也要能傳進去 引數...

泛型類的注意事項

1.泛型類如果沒有指定具體型別,此時操作型別為object 2.泛型的型別引數只能是類型別,不能是基本資料型別 employee int e new employee 錯誤 3.泛型型別在邏輯上可以看成多個不同型別,但是實際上都是相同型別 employeee1 new employee employ...

包裝類的使用方法以及注意事項

equals和 在判斷 int d 128 integer i1 integer.valueof d integer i2 integer.valueof d system.out.println i1 i2 false引用不同 system.out.println i1.equals i2 tru...