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

Java泛型類型通配符和C#對(duì)比分析

 更新時(shí)間:2016年10月22日 09:46:24   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava泛型類型通配符和C#對(duì)比分析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

c#的泛型沒有類型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是語法糖,在編譯器編譯的時(shí)候都轉(zhuǎn)換成object類型

類型通配符在java中表示的是泛型類型的父類

public void test(List<Object> c)  
{  
   for(int i = 0;i < c.size();i++)  
   {  
       System.out.println(c.get(i));  
   }  
}  
//創(chuàng)建一個(gè)List<String>對(duì)象  
List<String> strList = new ArrayList<String>();  
//將strList作為參數(shù)來調(diào)用前面的test方法  
test(strList);  

編譯上面的程序,test(strList) 處將發(fā)生編譯錯(cuò)誤,意味著不能把List<String> 當(dāng)成List<Object> 的子類. 這時(shí)候就需要使用類型通配符了,通配符是一個(gè)?號(hào)

上面的List<Object>換成List<?>就可以通過編譯了

public void test(List<?> c)  
{  
   for(int i = 0;i < c.size();i++)  
   {  
       System.out.println(c.get(i));  
   }  
}  

List<String> 可以作為 List<?> 的子類來使用, List<?> 則可作為任何List 類型的父類使用,

如果只想作為L(zhǎng)ist<String>的父類,而不是List<int>呢,? 寫成這樣 List<? extends String>

在C#中約束泛弄類型是這樣

class MyClass<T, U>  
  where T : class  
  where U : struct  
{}  
interface IMyInterface  
{  
}  
  
class Dictionary<TKey, TVal>  
  where TKey : IComparable, IEnumerable  
  where TVal : IMyInterface  
{  
  public void Add(TKey key, TVal val)  
  {  
  }  
}  

Java 中約束泛型通配符上限:

//表明T類型必須是Number類或其子類,并必須實(shí)現(xiàn)java.io.Serializable接口  
Public class Apple<T extends Number & java.io.Serializable>  
{}  

以上就是小編為大家?guī)淼腏ava泛型類型通配符和C#對(duì)比分析全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • Java Linkedlist原理及實(shí)例詳解

    Java Linkedlist原理及實(shí)例詳解

    這篇文章主要介紹了Java Linkedlist原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • javax.validation包里@NotNull等注解的使用方式

    javax.validation包里@NotNull等注解的使用方式

    這篇文章主要介紹了javax.validation包里@NotNull等注解的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java多線程Callable和Future接口區(qū)別

    Java多線程Callable和Future接口區(qū)別

    這篇文章主要介紹了Java多線程Callable和Future接口區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空

    SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空

    SpringBoot整合Mybatis-plus使用關(guān)鍵詞模糊查詢的時(shí)候,數(shù)據(jù)庫(kù)中有數(shù)據(jù),但是無法查找出來,本文就來介紹一下SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空的解決方法
    2025-04-04
  • mybatis 多表關(guān)聯(lián)mapper文件寫法操作

    mybatis 多表關(guān)聯(lián)mapper文件寫法操作

    這篇文章主要介紹了mybatis 多表關(guān)聯(lián)mapper文件寫法操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • java使用jdbc連接數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)例

    java使用jdbc連接數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)例

    這篇文章主要為大家詳細(xì)介紹了java使用jdbc連接數(shù)據(jù)庫(kù)的簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • java提取json中某個(gè)數(shù)組的所有值方法

    java提取json中某個(gè)數(shù)組的所有值方法

    下面小編就為大家分享一篇java提取json中某個(gè)數(shù)組的所有值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Java異常報(bào)錯(cuò):java.nio.file.FileSystemException的多種解決方案

    Java異常報(bào)錯(cuò):java.nio.file.FileSystemException的多種解決方案

    在Java應(yīng)用程序中處理文件和目錄時(shí),java.nio.file.FileSystemException是一個(gè)常見的異常,這個(gè)異常發(fā)生在嘗試進(jìn)行文件系統(tǒng)操作時(shí),本文將詳細(xì)探討FileSystemException的成因,并提供多種解決方案,需要的朋友可以參考下
    2024-12-12
  • Feign調(diào)用中的兩種Header傳參方式小結(jié)

    Feign調(diào)用中的兩種Header傳參方式小結(jié)

    這篇文章主要介紹了Feign調(diào)用中的兩種Header傳參方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 詳解SpringIOC容器中bean的作用范圍和生命周期

    詳解SpringIOC容器中bean的作用范圍和生命周期

    這篇文章主要介紹了SpringIOC容器中bean的作用范圍和生命周期,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02

最新評(píng)論

梁山县| 南木林县| 望谟县| 财经| 正定县| 石台县| 密山市| 平阴县| 丰宁| 兴安盟| 灵武市| 健康| 岗巴县| 巧家县| 陆川县| 松原市| 古蔺县| 无锡市| 宝丰县| 旌德县| 潜江市| 宜兴市| 丹阳市| 北宁市| 梅州市| 麟游县| 龙游县| 浮梁县| 莒南县| 黔南| 兰溪市| 滨海县| 旺苍县| 嘉定区| 台东县| 奉贤区| 谢通门县| 涿鹿县| 巩留县| 东辽县| 罗江县|