欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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方法進(jìn)行包裝
  @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è)計入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

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

相關(guān)文章

  • 使用Java設(shè)置字型和顏色的方法詳解

    使用Java設(shè)置字型和顏色的方法詳解

    這篇文章主要介紹了使用Java設(shè)置字型和顏色的方法,在Java的繪圖等圖形化編程中較常用到,需要的朋友可以參考下
    2015-10-10
  • springboot2+mybatis多種方式實現(xiàn)多數(shù)據(jù)配置方法

    springboot2+mybatis多種方式實現(xiàn)多數(shù)據(jù)配置方法

    這篇文章主要介紹了springboot2+mybatis多種方式實現(xiàn)多數(shù)據(jù)配置方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java基于UDP協(xié)議實現(xiàn)簡單的聊天室程序

    Java基于UDP協(xié)議實現(xiàn)簡單的聊天室程序

    這篇文章主要為大家詳細(xì)介紹了Java基于UDP協(xié)議實現(xiàn)簡單的聊天室程序的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 概述Java的struts2框架

    概述Java的struts2框架

    本篇文章主要對struts2框架概念、優(yōu)缺點進(jìn)行簡要概述。相信會對大家學(xué)習(xí)Java有所幫助,需要的朋友一起來看下吧
    2016-12-12
  • Java OpenCV實現(xiàn)人臉識別過程詳解

    Java OpenCV實現(xiàn)人臉識別過程詳解

    這篇文章主要介紹了Java OpenCV實現(xiàn)人臉識別過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Java 按照字節(jié)來截取字符串的代碼(不會出現(xiàn)半個漢字)

    Java 按照字節(jié)來截取字符串的代碼(不會出現(xiàn)半個漢字)

    Java 按照字節(jié)來截取字符串的工具,不會出現(xiàn)半個漢字。一個中文兩個字節(jié),一個英文字符只占 1 個字節(jié)** 1. 通常我們用于前端顯示的時候,防止標(biāo)題過長
    2014-01-01
  • springboot動態(tài)調(diào)整日志級別的操作大全

    springboot動態(tài)調(diào)整日志級別的操作大全

    這篇文章主要介紹了springboot動態(tài)調(diào)整日志級別的方法,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Java service層獲取HttpServletRequest工具類的方法

    Java service層獲取HttpServletRequest工具類的方法

    今天小編就為大家分享一篇關(guān)于Java service層獲取HttpServletRequest工具類的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼

    Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼

    這篇文章主要為大家詳細(xì)介紹了Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • RocketMQ消費冪概念與使用分析

    RocketMQ消費冪概念與使用分析

    如果有?個操作,多次執(zhí)?與?次執(zhí)?所產(chǎn)?的影響是相同的,我們就稱這個操作是冪等的。當(dāng)出現(xiàn)消費者對某條消息重復(fù)消費的情況時,重復(fù)消費的結(jié)果與消費?次的結(jié)果是相同的,并且多次消費并未對業(yè)務(wù)系統(tǒng)產(chǎn)?任何負(fù)?影響,那么這整個過程就可實現(xiàn)消息冪等
    2023-02-02

最新評論