日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

泛型类

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 泛型类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 ?泛型類的定義格式:

  class 類名<聲明自定義泛型>{

  }

示例:

1 //需求: 編寫一個數組 的工具類 2 class MyArrays<T> { 3 public void reverse(T[] arr) { 4 for (int startIndex = 0, endIndex = arr.length - 1; startIndex < endIndex; startIndex++, endIndex--) { 5 T temp = arr[startIndex]; 6 arr[startIndex] = arr[endIndex]; 7 arr[endIndex] = temp; 8 } 9 } 10 11 public String toString(T[] arr) { 12 StringBuilder sb = new StringBuilder(); 13 for (int i = 0; i < arr.length; i++) { 14 if (i == 0) { 15 sb.append("[" + arr[i] + ","); 16 } else if (i == arr.length - 1) { 17 sb.append(arr[i] + "]"); 18 } else { 19 sb.append(arr[i] + ","); 20 } 21 } 22 return sb.toString(); 23 } 24 } 25 26 public class Demo2 { 27 public static void main(String[] args) { 28 Integer[] arr = { 1, 2, 3, 4 }; 29 MyArrays<Integer> tool = new MyArrays(); 30 tool.reverse(arr); 31 System.out.println("數組的元素為: " + tool.toString(arr)); 32 33 String[] arr2 = { "aaa", "bbb", "ccc" }; 34 MyArrays<String> tool2 = new MyArrays(); 35 tool2.reverse(arr2); 36 System.out.println("數組的元素為: " + tool2.toString(arr2)); 37 } 38 39 }

?

2 ?泛型類要注意的事項:

  A. ?在類上自定義泛型的具體數據類型是在使用該類的時候創建對象時候確定的。

  B. ?如果一個類在類上已經聲明了自定義泛型,如果使用該類創建對象的時候沒有指定泛型的具體數據類型,那么默認為Object類型

?

    例如:

    

    那么

    

  C. ?在類上自定義泛型不能作用于靜態的方法,如果靜態的方法需要使用自定義泛型,那么需要在方法上自己聲明使用。

      原因:非靜態方法是在創建對象后才能調用的;靜態方法不一定需要通過創建對象來調用。

         而泛型的具體數據類型是在使用該類創建對象時候才確定的。

    例如:

    

    

?

?  D. ? 此時,靜態方法上聲明的<T>與類上聲明的<T>不會沖突,因為此方法具體數據類型是在調用該方法的時候傳入實參時才確定具體的數據類型的。

?      

轉載于:https://www.cnblogs.com/shadowdoor/p/6817489.html

總結

以上是生活随笔為你收集整理的泛型类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。