天天看點

聲明方法java實際開發中泛型使用需要注意的一些問題

在寫這篇文章之前,xxx已經寫過了幾篇關于改聲明方法主題的文章,想要了解的朋友可以去翻一下之前的文章

1.Map<K,V> 聲明的泛型類型必須是類,不能是基本類型。如果是基本類型将其寫為對應的對象類型。

2.Map<k,v> map=new LinkedHashMap<k,v>();

當雙方都有泛型時,那麼這兩個泛型就必須雷同。

輕易出錯的地方,如:

List<Object>list=new ArrayList<String>();不可

List<String>list=new ArrayList<Object>();不可

3.也可以允許隻有一邊有泛型,另一邊沒有泛型。

Map map=new LinkedHashMap<k,v>();

Map<k,v> map=new LinkedHashMap();

3.泛型是給javac使用的,用于限定往集合中要添加的元素類型。但是當編譯器完成對帶有泛型的java程式後,生成的class檔案中是不帶有泛型資訊的,這個程序稱之為“擦除”。這樣可以避免影響程式運作的效率。

4.當自定義一個方法中帶有多個泛型時,其聲明的格式為:

Public <T,E,F> void method(T t,E e,F f){}

5.當一個方法為static時,那麼這個靜态方法就不能使用在類上聲明的泛型,隻能在自己的方法上進行泛型聲明。

Class Demo<K>

{

Public static void method(K name){}//錯誤

Public static <T> void f1(T a){}

//注意在方法上聲明泛型時,泛型湧現的位置應當緊挨在傳回類型的前面。

}

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/110138.html原文連結:https://javaforall.cn