java泛型學習(1)
java泛型(Generices Type)
—>概念:泛型是Java SE 1.5的新特性,泛型的本質是引數化型別,也就是說所操作的資料型別被指定為一個引數。這種引數型別可以用在類、介面和方法的建立中,分別稱為泛型類、泛型介面、泛型方法。 Java語言引入泛型的好處是安全簡單。
—>優點:(1)在Java SE 1.5之前,沒有泛型的情況的下,通過對型別Object的引用來實現引數的“任意化”,“任意化”帶來的缺點是要做顯式的強制型別轉換,而這種轉換是要求開發者對實際引數型別可以預知的情況下進行的。對於強制型別轉換錯誤的情況,編譯器可能不提示錯誤,在執行的時候才出現異常【ClassCastException】,這是一個安全隱患。
Map m = new HashMap(); m.put("key", "blarg"); String s = (String) m.get("key");//需要進行顯示的強制型別轉換
View Cod
泛型字母
T type表示型別
K V 分別代表鍵值對中的key,value
E 代表Element
?不確定型別
K V 分別代表鍵值對中的key,value
E 代表Element
?不確定型別
【泛型類】
泛型只能使用引用型別。
1 /** 2 * 3 ----->宣告類時使用泛型 4 ----->泛型不只能使用引用型別 5 ----->泛型宣告時不能使用在靜態屬性,靜態方法上 6 */ 7 public class Student<T1, T2> { 8 private T1 javase; 9 private T2 oracle; 10 //private static T2 add;會報錯的 11 public Student() { 12 super(); 13 } 14 public Student(T1 javase, T2 oracle) { 15 super(); 16 this.javase = javase; 17 this.oracle = oracle; 18 } 19 20 public T1 getJavase() { 21 return javase; 22 } 23 24 public void setJavase(T1 javase) { 25 this.javase = javase; 26 } 27 28 public T2 getOracle() { 29 return oracle; 30 } 31 32 public void setOracle(T2 oracle) { 33 this.oracle = oracle; 34 } 35 36 }
View Code
【泛型介面】
1 /** 2 *(介面中只能定義靜態全域性變數,抽象方法) 3 介面中泛型字母只能使用在方法中,不能使用在全域性常量中 4 5 */ 6 public interface Person<T,T2> { 7 public abstract void Address(T a); 8 public abstract T2 queryAll(); 9 }
View Code
【泛型方法】
1 /** 2 * 3 *格式----->修飾符 泛型字母 返回值型別 方法名(泛型字母 形參) 4 *(只能訪問物件資訊,不能修改物件資訊) 5 ---><T>用在返回值型別 6 --->也可以用在形參列表上 7 */ 8 public <T> void queryList(T a){ 9 10 System.out.println("Student.queryList()"+a); 11 }
View Code
相關文章
- Java進階學習之集合與泛型(1)Java泛型
- Java 泛型 1例Java泛型
- java入門基礎學習----泛型Java泛型
- java基礎學習之十三:泛型Java泛型
- Java泛型複習Java泛型
- Java隨筆-Java泛型的一點學習Java泛型
- JAVA泛型使用練習2(自定義泛型使用)Java泛型
- C#泛型學習C#泛型
- 泛型學習筆記泛型筆記
- Java高階特性之泛型學習總結Java泛型
- java基礎複習-----泛型Java泛型
- 【java】【泛型】泛型geneticJava泛型
- java泛型之泛型方法。Java泛型
- 學習Rust泛型與特性Rust泛型
- Java泛型知識點:泛型類、泛型介面和泛型方法Java泛型
- java泛型之泛型陣列。Java泛型陣列
- Java 泛型Java泛型
- Java泛型Java泛型
- 學習 Java,你不得不知的泛型知識Java泛型
- Java 容器和泛型(1)認識容器Java泛型
- TypeScript學習(四)—— 介面和泛型TypeScript泛型
- C#學習 [型別系統] 泛型(16)C#型別泛型
- Java 泛型原理Java泛型
- Java+泛型Java泛型
- java泛型一二Java泛型
- Java(7)泛型Java泛型
- Java-泛型Java泛型
- java泛型剖析Java泛型
- JAVA泛型類Java泛型
- 重學Java之泛型的基本使用Java泛型
- Java核心知識1:泛型機制詳解Java泛型
- 深圳大資料學習:泛型--【千鋒】大資料泛型
- iOS學習筆記47 Swift(七)泛型iOS筆記Swift泛型
- Java™ 教程(泛型原始型別)Java泛型型別
- Java泛型與型別擦除Java泛型型別
- 淺談java泛型Java泛型
- java 基礎 泛型Java泛型
- Java:Collection集合、泛型Java泛型