在寫這篇文章之前,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