集合 泛型 關於型別控制的安全機制

2021-10-05 05:23:46 字數 1010 閱讀 4391

泛型是乙個安全機制,早期沒有泛型,集合新增元素時,新增啥型別的元素只有**編寫者自己清楚,往裡傳啥型別只有他知道,別人用就很容易傳錯物件。所以,泛型出現,在定義集合類時,要顯示地說明我這容器裡到底該放啥型別地物件,型別用 一堆尖括號括起來:"<>",如建立乙個arraylist集合存陣列:

//集合類在使用時指定元素型別

arrarylsital = new arrarylsit();

之後,可以省略後面的<>裡面的string

arrarylsital = new arrarylsit<>();

但泛型的應用不止於此,我們也可以指定泛型在自己的類中,方法中,

介面中,程式擴充套件性變得極強

/*泛型介面*/

inte***ce inter

//可以在實現介面時指定操作型別

class interimpl_2 implements inter

}//也可以不指定操作型別,這就和集合框架裡類的使用非常相似了

class interimplimplements inter

}public class genericdemo

}

/*泛型方法*/

//泛型類,可以看到其侷限性,類一建立,t的型別就確定了,不同函式接收的型別也就確定了,如果想要乙個函式能接收不同型別引數,就要用到泛型方法

class show

public void print()

}//泛型方法

class gshow

public void print(t t)

//泛型還能定義在靜態方法上,但靜態方法要用泛型的話只能另外定義,不能用定義在類上的泛型,原因很明顯,類上的泛型只有執行時才確定下來

public static void static_show(t t)

}public class genericdmeo

}

泛型與集合型別

說起泛型時,就不得不說到泛型集合型別 因為使用反省能夠極大的提高集合型別的效能和安全性.為了看看使用泛型能為集合型別帶來什麼好處,先看看不用泛型時集合型別的表現 最典型的非泛型集合型別就是 arraylist了,這裡便以它為例作為介紹 考慮一下下面的 arraylist list new array...

JAVA 泛型機制 List排序 Set集合

泛型機制 1 jdk1.5版本開始使用的新特性,本質是進行 引數化型別 在類,介面,方法的定義上都可以使用,用來指定資料型別名的。2 集合在定義時,可以用泛型機制來指定元素的型別,這樣編譯器在編譯期間就可以進行檢查元素型別是否匹配,避免了程式在執行時出現過多的錯誤。3 集合框架中的所有型別 介面,抽...

Java集合總結,泛型機制,可變引數

底層實現 優缺點執行緒是否安全 效率適用場景 arraylist 陣列查詢易,增刪難否高 單執行緒,多查詢,少增刪的程式 vector 陣列查詢易,增刪難是低 多執行緒,多查詢,少增刪的程式 linkdelist 鍊錶查詢難,增刪易否高 單執行緒,多增刪,少查詢的程式 提問 什麼是泛型 回答 所謂泛...