|NO.Z.00053|——————————|BigDataEnd|——|Java&集合類庫.V01|----------------------------------------------|Java.v01|泛型機制.v01|概念程式設計|
阿新 • • 發佈:2022-04-04
[BigDataJava:Java&集合類庫.V01] [BigDataJava.核心類庫] [|章節五|集合類庫|泛型機制.一|概念|程式設計使用|]
一、泛型機制的基本概念
二、程式設計程式碼### --- 基本概念 ——> 通常情況下集合中可以存放不同型別的物件,是因為將所有物件都看做Object型別放入的, ——> 因此從集合中取出元素時也是Object型別,為了表達該元素真實的資料型別, ——> 則需要強制型別轉換,而強制型別轉換可能會引發型別轉換異常。 ——> 為了避免上述錯誤的發生,從Java5開始增加泛型機制, ——> 也就是在集合名稱的右側使用<資料類> ——> 的方式來明確要求該集合中可以存放的元素型別,若放入其它型別的元素則編譯報錯。 ——> 泛型只在編譯時期有效,在執行時期不區分是什麼型別。
三、編譯列印package com.yanqi.task15; import java.util.LinkedList; import java.util.List; public class ListGenericTest { public static void main(String[] args) { // 1.準備一個支援泛型機制的List集合,明確要求集合中的元素是String型別 List<String> lt1 = new LinkedList<String>(); // 2.向集合中新增元素並列印 lt1.add("one"); System.out.println("lt1 = " + lt1); // [one] //lt1.add(2); Error // 3.獲取集合中的元素並列印 String s = lt1.get(0); System.out.println("獲取到的元素是:" + s); // one System.out.println("----------------------------------------------------"); // 2.準備一個支援Integer型別的List集合 List<Integer> lt2 = new LinkedList<Integer>(); lt2.add(1); lt2.add(2); //lt2.add("3"); Error System.out.println("lt2 = " + lt2); // [1, 2] Integer integer = lt2.get(0); System.out.println("獲取到的元素是:" + integer); // 1 System.out.println("----------------------------------------------------"); // Java7開始的新特性: 菱形特性 就是後面<>中的資料型別可以省略 List<Double> lt3 = new LinkedList<>(); // 筆試考點 // 試圖將lt1的數值賦值給lt3,也就是覆蓋lt3中原來的數值,結果編譯報錯:集合中支援的型別不同 //lt3 = lt1; Error } }
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=54636:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task15.ListGenericTest lt1 = [one] 獲取到的元素是:one ---------------------------------------------------- lt2 = [1, 2] 獲取到的元素是:1 ---------------------------------------------------- Process finished with exit code 0
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)