亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java8中對泛型目標類型推斷方法的改進

2019-11-26 15:29:19
字體:
來源:轉載
供稿:網友

一、簡單理解泛型

泛型是Java SE 1.5的新特性,泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。通俗點將就是“類型的變量”。這種類型變量可以用在類、接口和方法的創建中。

理解Java泛型最簡單的方法是把它看成一種便捷語法,能節省你某些Java類型轉換(casting)上的操作:

復制代碼 代碼如下:
List<Apple> box = new ArrayList<Apple>();box.add(new Apple());Apple apple =box.get(0);

上面的代碼自身已表達的很清楚:box是一個裝有Apple對象的List。get方法返回一個Apple對象實例,這個過程不需要進行類型轉換。沒有泛型,上面的代碼需要寫成這樣:
復制代碼 代碼如下:
Apple apple = (Apple)box.get(0);

二、泛型的尷尬

泛型的最大優點是提供了程序的類型安全同時可以向后兼容,但也有尷尬的地方,就是每次定義時都要寫明泛型的類型,這樣顯示指定不僅感覺有些冗長,最主要是很多程序員不熟悉泛型,因此很多時候不能夠給出正確的類型參數,現在通過編譯器自動推斷泛型的參數類型,能夠減少這樣的情況,并提高代碼可讀性。


三、java7的泛型類型推斷改進

在以前的版本中使用泛型類型,需要在聲明并賦值的時候,兩側都加上泛型類型。例如:

復制代碼 代碼如下:
Map<String, String> myMap = new HashMap<String, String>();

你可能覺得:老子在聲明變量的的時候已經指明了參數類型,為毛還要在初始化對象時再指定?幸好,在Java SE 7中,這種方式得以改進,現在你可以使用如下語句進行聲明并賦值:
復制代碼 代碼如下:
Map<String, String> myMap = new HashMap<>(); //注意后面的"<>"

在這條語句中,編譯器會根據變量聲明時的泛型類型自動推斷出實例化HashMap時的泛型類型。再次提醒一定要注意new HashMap后面的“<>”,只有加上這個“<>”才表示是自動類型推斷,否則就是非泛型類型的HashMap,并且在使用編譯器編譯源代碼時會給出一個警告提示。

但是:Java SE 7在創建泛型實例時的類型推斷是有限制的:只有構造器的參數化類型在上下文中被顯著的聲明了,才可以使用類型推斷,否則不行。例如:下面的例子在java 7無法正確編譯(但現在在java8里面可以編譯,因為根據方法參數來自動推斷泛型的類型):

復制代碼 代碼如下:

List<String> list = new ArrayList<>();
list.add("A");// 由于addAll期望獲得Collection<? extends String>類型的參數,因此下面的語句無法通過
list.addAll(new ArrayList<>());


四、Java8的泛型類型推斷改進

java8里面泛型的目標類型推斷主要2個:

1.支持通過方法上下文推斷泛型目標類型
2.支持在方法調用鏈路當中,泛型類型推斷傳遞到最后一個方法
讓我們看看官網的例子:

復制代碼 代碼如下:

class List<E> {
   static <Z> List<Z> nil() { ... };
   static <Z> List<Z> cons(Z head, List<Z> tail) { ... };
   E head() { ... }
}

 根據JEP101的特性,我們在調用上面方法的時候可以這樣寫

復制代碼 代碼如下:

//通過方法賦值的目標參數來自動推斷泛型的類型
List<String> l = List.nil();
//而不是顯示的指定類型
//List<String> l = List.<String>nil();
//通過前面方法參數類型推斷泛型的類型
List.cons(42, List.nil());
//而不是顯示的指定類型
//List.cons(42, List.<Integer>nil());

五、總結

以上是JEP101的特性內容了,Java作為靜態語言的代表者,可以說類型系統相當豐富。導致類型間互相轉換的問題困擾著每個java程序員,通過編譯器自動推斷類型的東西可以稍微緩解一下類型轉換太復雜的問題。 雖然說是小進步,但對于我們天天寫代碼的程序員,肯定能帶來巨大的作用,至少心情更愉悅了~~說不定在java 9里面,我們會得到一個通用的類型var,像js或者scala的一些動態語言那樣^_^

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜欧美不卡精品aaaaa| 久久久这里只有精品视频| 久久久久久久久久久免费精品| 亚洲色图美腿丝袜| 丝袜情趣国产精品| 成人在线视频网站| 色狠狠av一区二区三区香蕉蜜桃| 日韩av电影在线免费播放| 国产99久久精品一区二区永久免费| 日韩免费观看高清| 欧美日韩中文字幕| 成年无码av片在线| 日韩精品极品在线观看| 91探花福利精品国产自产在线| 精品自拍视频在线观看| 国产日韩欧美91| 欧美日韩亚洲91| 欧美精品久久久久| 久久精品国产69国产精品亚洲| 亚洲综合中文字幕在线观看| 久久99热这里只有精品国产| 国产丝袜一区二区三区| 亚洲视频自拍偷拍| 成人免费淫片视频软件| 一区二区三区视频在线| 98午夜经典影视| 91免费视频网站| 国内精品久久久久| 日韩在线观看免费高清完整版| 国产精品va在线播放我和闺蜜| 97精品久久久中文字幕免费| 国产精品免费久久久久影院| 亚洲国产精品国自产拍av秋霞| 日韩亚洲欧美中文在线| 欧美精品久久久久久久| 亚洲女人被黑人巨大进入| 亚洲国产日韩欧美在线图片| 久久精品国产免费观看| 日韩av电影手机在线| 国产精品久久一区主播| 91a在线视频| 成人精品一区二区三区电影黑人| 欧洲美女7788成人免费视频| 亚洲国产成人久久综合| 欧美中文字幕精品| 成人激情视频小说免费下载| 成人免费视频在线观看超级碰| 国产亚洲精品久久久久动| 亚洲国产精品高清久久久| 午夜精品一区二区三区视频免费看| 国产在线拍揄自揄视频不卡99| 青草成人免费视频| 欧美日韩激情美女| 日韩av在线影院| 深夜福利一区二区| 国产亚洲欧洲高清一区| 国产v综合ⅴ日韩v欧美大片| 九九久久精品一区| 国产精品r级在线| 亚洲精品国产美女| 精品一区二区三区电影| 国产剧情久久久久久| 日韩激情av在线播放| 8050国产精品久久久久久| 91成人在线视频| 国内精品视频久久| 精品呦交小u女在线| 欧美日韩xxx| 欧美激情中文网| 欧美性xxxx极品高清hd直播| 成人美女免费网站视频| 久久久精品国产亚洲| 久久久久久久一区二区| 国产成人精品日本亚洲专区61| 尤物yw午夜国产精品视频| 国产精品欧美激情在线播放| 国产精品欧美激情在线播放| 欧美性xxxx| 亚洲一级黄色av| 26uuu日韩精品一区二区| 日本精品性网站在线观看| 欧美wwwxxxx| 久久久国产一区| 国产精品一区二区三区在线播放| 欧美日韩一区二区免费在线观看| 日韩中文字幕网址| 91精品国产精品| 欧美一区第一页| 成人h视频在线观看播放| 久久久午夜视频| 国产成人精品a视频一区www| 国产69精品久久久久久| 97香蕉久久夜色精品国产| 久久久久久九九九| 日本一欧美一欧美一亚洲视频| 国产亚洲欧美一区| 色老头一区二区三区在线观看| 亚洲自拍偷拍第一页| 97福利一区二区| 在线观看国产欧美| 亚洲黄色av网站| 成人激情视频在线| 国产成人在线一区二区| 成人免费看吃奶视频网站| 亚洲香蕉在线观看| 国内精品模特av私拍在线观看| 国产成人av网| 久久69精品久久久久久久电影好| 欧美日韩国产一区在线| 性色av一区二区三区免费| 欧美裸体xxxxx| 91免费在线视频| 在线a欧美视频| 国产成人精品免高潮费视频| 777国产偷窥盗摄精品视频| 日韩成人xxxx| 97视频在线免费观看| 亚洲精选中文字幕| 欧美精品情趣视频| www.国产一区| 国产精品久久一区| 欧美裸体xxxx| 成人有码视频在线播放| 欧美激情2020午夜免费观看| 国产91免费观看| 亚洲999一在线观看www| 人九九综合九九宗合| 欧美日韩亚洲91| 欧美在线视频导航| 国产在线精品成人一区二区三区| 国产精品美女无圣光视频| 亚洲精品国产综合区久久久久久久| 色综合久久88色综合天天看泰| 久久人人爽人人爽爽久久| 久久99国产综合精品女同| 国产男女猛烈无遮挡91| 亚洲第一中文字幕| 欧美精品在线网站| 欧美成人午夜激情在线| 亚洲一区二区三区xxx视频| 欧美不卡视频一区发布| 久久精品国产2020观看福利| 国产精品久久久久久久久久小说| 亚洲性xxxx| 精品爽片免费看久久| 久久久午夜视频| 国产99视频精品免视看7| 亚洲欧美日韩爽爽影院| 亚洲欧美第一页| 欧美性猛交xxxx免费看漫画| 久久综合免费视频影院| 在线中文字幕日韩| 人人爽久久涩噜噜噜网站| 欧美午夜精品久久久久久浪潮| 激情亚洲一区二区三区四区| 成人性生交大片免费看小说| 国产精品狼人色视频一区| 久久精品精品电影网| 国产亚洲人成网站在线观看| 日韩在线视频免费观看高清中文| 日韩黄色在线免费观看| 国产第一区电影| 色诱女教师一区二区三区| 久久精品视频免费播放|