這篇文章給大家介紹Java中如何使用泛型和Class類,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司主營日土網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,
app軟件開發(fā)公司,日土h5
微信小程序開發(fā)搭建,日土網(wǎng)站營銷推廣歡迎日土等地區(qū)企業(yè)咨詢
一 點(diǎn)睛
從JDK1.5之后,Java的Class類增加了泛型功能,從而允許使用泛型來限制Class類,例如,String.class
的類型實際上是Class
。 使用Class
泛型可以避免強(qiáng)制類型轉(zhuǎn)換。
二 實戰(zhàn)1
import java.util.*;import javax.swing.*;public class CrazyitObjectFactory2{ public static T getInstance(Class cls) { try { return cls.newInstance(); } catch(Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { // 獲取實例后無須類型轉(zhuǎn)換 Date d = CrazyitObjectFactory2.getInstance(Date.class); JFrame f = CrazyitObjectFactory2.getInstance(JFrame.class); }}
三 實戰(zhàn)2
1 代碼
import java.lang.reflect.*;import java.lang.annotation.*;public class CrazyitArray{ // 對Array的newInstance方法進(jìn)行包裝 @SuppressWarnings("unchecked") public static T[] newInstance(Class componentType, int length) { return (T[])Array.newInstance(componentType , length); //① } public static void main(String[] args) { // 使用CrazyitArray的newInstance()創(chuàng)建一維數(shù)組 String[] arr = CrazyitArray.newInstance(String.class , 10); // 使用CrazyitArray的newInstance()創(chuàng)建二維數(shù)組 // 在這種情況下,只要設(shè)置數(shù)組元素的類型是int[]即可。 int[][] intArr = CrazyitArray.newInstance(int[].class , 5); arr[5] = "瘋狂Java講義"; // intArr是二維數(shù)組,初始化該數(shù)組的第二個數(shù)組元素 // 二維數(shù)組的元素必須是一維數(shù)組 intArr[1] = new int[]{23, 12}; System.out.println(arr[5]); System.out.println(intArr[1][1]); }}
關(guān)于Java中如何使用泛型和Class類就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享標(biāo)題:Java中如何使用泛型和Class類-創(chuàng)新互聯(lián)
文章地址:
http://weahome.cn/article/ppipg.html