国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java泛型類型通配符和C#對比分析

Java泛型類型通配符和C#對比分析

2020-06-26 15:37jingxian JAVA教程

下面小編就為大家帶來一篇Java泛型類型通配符和C#對比分析。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

?
1
2
3
4
5
6
7
public void test(List<Object> c) 
   for(int i = 0;i < c.size();i++) 
   
       System.out.println(c.get(i)); 
   
}
?
1
2
3
4
//創建一個List<String>對象 
List<String> strList = new ArrayList<String>(); 
//將strList作為參數來調用前面的test方法 
test(strList);

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

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

?
1
2
3
4
5
6
7
public void test(List<?> c) 
   for(int i = 0;i < c.size();i++) 
   
       System.out.println(c.get(i)); 
   
}

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

如果只想作為List<String>的父類,而不是List<int>呢,? 寫成這樣 List<? extends String>

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

?
1
2
3
4
class MyClass<T, U> 
  where T : class
  where U : struct 
{}
?
1
2
3
4
5
6
7
8
9
10
11
12
interface IMyInterface 
  
class Dictionary<TKey, TVal> 
  where TKey : IComparable, IEnumerable 
  where TVal : IMyInterface 
  public void Add(TKey key, TVal val) 
  
  
}

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

?
1
2
3
//表明T類型必須是Number類或其子類,并必須實現java.io.Serializable接口 
Public class Apple<T extends Number & java.io.Serializable> 
{}

以上就是小編為大家帶來的Java泛型類型通配符和C#對比分析全部內容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩精品在线观看一区 | 亚洲免费观看视频 | 国产精品视频免费 | 国产精品美女久久久久久久久久久 | 欧美视频免费 | 精品一区电影 | a级三四级黄大片 | 中文字幕在线播放一区 | 婷婷精品久久久久久久久久不卡 | 久久噜噜噜精品国产亚洲综合 | 成人亚洲 | 国产精品高潮呻吟久久 | 天天综合7799精品影视 | 91日日夜夜| 亚洲激情一区 | 亚洲成人午夜电影 | 夜夜超碰 | 久久一区二 | 久久天堂视频 | 日韩一区二区电影 | 九一视频在线免费观看 | 在线观看中文字幕av | 啪啪av| 免费一二区 | 精品一级 | 午夜不卡视频 | 白浆在线| 日韩超碰 | 国产色 | 国产成人精品久久 | 成人激情视频 | 亚州中文字幕 | 国产精品视频入口 | 欧美日韩不卡视频 | 久久久av| 亚洲伦理| 成人久久18免费观看 | 影音在线资源 | 国产1区2区| av免费观看网站 | 日本不卡视频 |