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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

40_自定义泛型方法及其应用

發(fā)布時(shí)間:2023/12/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 40_自定义泛型方法及其应用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java的泛型不同于C++的模板方法那么強(qiáng)大。java的泛型只停留在編譯階段,編譯通過(guò)后泛型特征被擦除,主要因?yàn)楸WCjvm的效率。

?

  • 用泛型知識(shí),寫(xiě)一個(gè)交換數(shù)組元素的方法(此方法只適合于引用類(lèi)型數(shù)組!因?yàn)閕nt[]不會(huì)自動(dòng)轉(zhuǎn)為Integer[]!)

?

private static <T> void swap(T[] a,int i,int j){ T tmp=a[i]; a[i]=a[j]; a[j]=tmp; }String[] arr=new String[]{"123","789","456"}; //打印出123789456 for(String s:arr){ System.out.print(s); } swap(arr,1,2); System.out.println(); //打印出123456789 for(String s:arr){ System.out.print(s); }

?

注意:

  • <T>的位置---方法返回值之前
  • 2.? T[]可以接收的實(shí)參類(lèi)型---引用類(lèi)型

    若基本類(lèi)型數(shù)組,會(huì)報(bào)錯(cuò)。如 swap(new int[3],1,2); 會(huì)報(bào)錯(cuò)!

    ?

    ?

    普通方法,構(gòu)造方法,靜態(tài)方法中都可以使用泛型。

    也可以用類(lèi)型變量表示異常,稱(chēng)為參數(shù)化的異常,可以用于方法的throws列表中,但是不能用于catch子句中。

    private static <T extends Exception> sayHello()throws T{try{}catch(Exception e){throw (T)e;}}

    補(bǔ)充反射:

    String[] arr=new String[]{"123","789","456"}; System.out.println(arr.getClass().getName());//[Ljava.lang.String; System.out.println("abc".getClass().getName());//java.lang.Stringint[] arr2=new int[]{1,3,2}; System.out.println(arr2.getClass().getName());//[I System.out.println(int.class.getName());//int Integer[] arr3=new Integer[]{1,3,2}; System.out.println(arr3.getClass().getName());//[Ljava.lang.Integer; System.out.println(Integer.class.getName());//java.lang.Integer

    轉(zhuǎn)載于:https://www.cnblogs.com/qq-757617012/p/4271863.html

    總結(jié)

    以上是生活随笔為你收集整理的40_自定义泛型方法及其应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。