激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java 用泛型參數類型構造數組詳解及實例

java 用泛型參數類型構造數組詳解及實例

2020-08-14 15:48java教程網 Java教程

這篇文章主要介紹了java 用泛型參數類型構造數組詳解及實例的相關資料,需要的朋友可以參考下

java泛型參數類型構造數組詳解及實例

前言:

前一陣子打代碼的時候突然想到一個問題。平時我們的數組都是作為一個參數傳入方法中的,如果我們要想在方法中創建一個數組怎么樣呢?在類型明確的情況下,這是沒什么難度的。如果我們傳入的參數是泛型類型的參數呢?

?
1
2
3
public static <T> T[] creArray (T obj){
    T[] arr = new T[10];
}

像上面這種用T來直接new數組的方法是錯誤的,會編譯時出現一個:Cannot create a generic array of T. 的錯誤。Java中不支持未知的類型直接創建數組。

最后我得到了這樣一個完美的解決方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package Test;
 
import java.lang.reflect.Array;
 
/**
 *
 * @author QuinnNorris
 * 在泛型方法中創建泛型類型的數組
 */
public class Test {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
 
    String a = "ccc";//創建一個String,作為泛型類型
    String[] ar = creArray(a);
    for(String art :ar)//循環打印
      System.out.println(art);
  }
 
  //泛型靜態方法
  public static <T> T[] creArray (T obj){
    T[] arr = (T[])Array.newInstance(obj.getClass(), 5);
    arr[1] = obj;
    System.out.println(arr[1]);
    return arr;
  }
}

代碼輸出如下:

?
1
2
3
4
5
6
ccc //方法中輸出的arr[1]
null //以下5個是main中循環迭代出的數組值
ccc
null
null
null

上述的方法是完全可行的,我們通過用Array類的newInstance方法來構造了可指定類型的數組。使用反射來完成這個工作也應該是在情理之中。因為泛型類型T在中運行時才可能被確定下來,我們能創建泛型數組也必然是在java運行時想辦法,在java運行時能起作用的技術莫過于反射。

另外看見null,正好在這里也整理一下java中不同類型數組初始化的值情況:

基本類型(數值型):0
基本類型(布爾型):false
基本類型(char型):(char)0
對象類型: null

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/quinnnorris/article/details/55520353

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: xxxeexxx性国产| 亚洲一区二区三区精品在线观看 | 青草视频在线观看视频 | 日日操夜夜操狠狠操 | 一区二区三区在线观看免费视频 | 91久久久久久久 | 国产污污视频 | 国产无遮挡一级毛片 | 一级网站 | av噜噜噜噜 | 一级免费特黄视频 | 精品av在线播放 | 7m视频成人精品分类 | 亚洲综合精品 | 亚洲电影免费观看国语版 | 国产美女自拍av | 亚洲精品一区二区三区大胸 | 久久蜜桃精品一区二区三区综合网 | 欧美成年性h版影视中文字幕 | 91快色| 成人免费在线视频 | 精品国产一区二区三区四区在线 | 天天操天天做 | 一级黄色欧美 | 美女黄影院| 久久久久久久久久久综合 | 国产一级伦理片 | 午夜视频亚洲 | 本站只有精品 | 成人三级电影在线 | 国产高潮好爽受不了了夜色 | 一级做a爱片久久毛片a高清 | 色淫网站免费视频 | 中文字幕在线观看网址 | 日韩美香港a一级毛片 | 视频一区二区三区免费观看 | 黄色二区三区 | 日韩视频一区二区在线观看 | 中国免费一级毛片 | 中文字幕欧美亚洲 | 久久国产精品久久久久久 |