最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java泛型和Class類用法示例

 更新時間:2019年07月15日 08:55:07   作者:cakincqm  
這篇文章主要介紹了Java泛型和Class類用法,結(jié)合實例形式分析了java使用泛型限制class類避免強制類型轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java泛型和Class類用法。分享給大家供大家參考,具體如下:

一 點睛

從JDK1.5之后,Java的Class類增加了泛型功能,從而允許使用泛型來限制Class類,例如,String.class 的類型實際上是Class<String>。 使用Class<T>泛型可以避免強制類型轉(zhuǎn)換。

二 實戰(zhàn)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)
  {
    // 獲取實例后無須類型轉(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方法進行包裝
  @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()創(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]);
  }
}

2 運行

瘋狂Java講義
12

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • SWT JFace Bookmark 制作

    SWT JFace Bookmark 制作

    SWT JFace Bookmark 制作
    2009-06-06
  • Java中進程與線程的區(qū)別

    Java中進程與線程的區(qū)別

    這篇文章主要介紹了Java進程與線程的區(qū)別,進程(Process)是操作系統(tǒng)分配資源的基本單位,線程(Thread)是操作系統(tǒng)能夠進行運算調(diào)度的基本單位,下文更多兩者區(qū)別。需要的小伙伴可以參考一下
    2022-05-05
  • SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動

    SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動

    這篇文章主要介紹了SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • JAVA十大排序算法之插入排序詳解

    JAVA十大排序算法之插入排序詳解

    這篇文章主要介紹了java中的插入排序,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Myeclipse 2016下Aptana安裝教程

    Myeclipse 2016下Aptana安裝教程

    這篇文章主要為大家詳細(xì)介紹了Myeclipse 2016下Aptana安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Java編程用指定字符打印菱形實例

    Java編程用指定字符打印菱形實例

    本文主要介紹了用指定的字符打印菱形的方法實例,一個簡單容日上手的小程序,喜歡的朋友可以拿來練習(xí)一下。
    2017-09-09
  • 全面理解java中的異常處理機制

    全面理解java中的異常處理機制

    下面小編就為大家?guī)硪黄胬斫鈐ava中的異常處理機制。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • SpringBoot 集成JUnit5的詳細(xì)操作過程

    SpringBoot 集成JUnit5的詳細(xì)操作過程

    JUnit5是最新的Java單元測試框架,提供了靈活的測試支持,它由JUnit Platform、JUnit Jupiter和JUnit Vintage組成,支持不同環(huán)境下的測試運行,SpringBoot從2.2版本開始默認(rèn)支持JUnit5,本文介紹了SpringBoot 集成JUnit5的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • Java并發(fā)編程ArrayBlockingQueue的使用

    Java并發(fā)編程ArrayBlockingQueue的使用

    ArrayBlockingQueue是一個備受矚目的有界阻塞隊列,本文將全面深入地介紹ArrayBlockingQueue的內(nèi)部機制、使用場景以及最佳實踐,感興趣的可以了解一下
    2024-08-08
  • 基于多線程中join()的用法實例講解

    基于多線程中join()的用法實例講解

    下面小編就為大家?guī)硪黄诙嗑€程中join()的用法實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

沅江市| 灵山县| 孙吴县| 平原县| 成安县| 谢通门县| 莲花县| 葫芦岛市| 阳东县| 乌什县| 来宾市| 宝坻区| 靖州| 迭部县| 凤山县| 晴隆县| 柞水县| 灵寿县| 香格里拉县| 济源市| 清水县| 铅山县| 莒南县| 永丰县| 闻喜县| 弋阳县| 曲水县| 竹北市| 定南县| 台湾省| 兴义市| 留坝县| 沙田区| 正阳县| 大洼县| 凤阳县| 上栗县| 铁力市| 嘉鱼县| 东兰县| 余姚市|