您好,登錄后才能下訂單哦!
這篇文章給大家介紹Java中如何使用泛型和Class類,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一 點睛
從JDK1.5之后,Java的Class類增加了泛型功能,從而允許使用泛型來限制Class類,例如,String.class
的類型實際上是Class<String>
。 使用Class<T>
泛型可以避免強制類型轉換。
二 實戰1
import java.util.*;import javax.swing.*;public class CrazyitObjectFactory2{ public static <T> T getInstance(Class<T> cls) { try { return cls.newInstance(); } catch(Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { // 獲取實例后無須類型轉換 Date d = CrazyitObjectFactory2.getInstance(Date.class); JFrame f = CrazyitObjectFactory2.getInstance(JFrame.class); }}
三 實戰2
1 代碼
import java.lang.reflect.*;import java.lang.annotation.*;public class CrazyitArray{ // 對Array的newInstance方法進行包裝 @SuppressWarnings("unchecked") public static <T> T[] newInstance(Class<T> componentType, int length) { return (T[])Array.newInstance(componentType , length); //① } public static void main(String[] args) { // 使用CrazyitArray的newInstance()創建一維數組 String[] arr = CrazyitArray.newInstance(String.class , 10); // 使用CrazyitArray的newInstance()創建二維數組 // 在這種情況下,只要設置數組元素的類型是int[]即可。 int[][] intArr = CrazyitArray.newInstance(int[].class , 5); arr[5] = "瘋狂Java講義"; // intArr是二維數組,初始化該數組的第二個數組元素 // 二維數組的元素必須是一維數組 intArr[1] = new int[]{23, 12}; System.out.println(arr[5]); System.out.println(intArr[1][1]); }}
關于Java中如何使用泛型和Class類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。