1. 程式人生 > >java語法糖和泛型

java語法糖和泛型

1:Java語法糖-是一種幫助開發人員提高開發效率的小甜點,原理是將一些繁瑣的事情交給編譯器來處理,開發人員少做一些事情,當然,本紙上這些事情還必須要做,只是有編譯器來做了

2:Java語法糖有那幾種呢?如下所示:
2-1:包裝型別和基本型別間的轉換,自動裝箱和拆箱的設計
2-2:泛型的設計
2-3:變長引數的設計
2-4:try-with-resources,關閉資源的設計
2-5:在同一個catch程式碼塊中捕獲多種異常
2-6:finally程式碼塊總是被執行的設計
2-7:foreach迴圈陣列的設計
2-8:foreach迴圈Iterable物件的設計

3:編譯器的具體實現細節不是很清楚,猜測是識別出對應的語法然後填充上對應的程式碼,將語法糖還原成其本質-一些重複繁瑣的程式碼塊

4:之前有同事問我泛型是怎麼實現的?
我講不出來,只曉得使用泛型後,不需要寫型別強轉的程式碼了,如果型別不對也會有提示且編譯失敗,現在知道的多一點了,本質上型別強轉的工作還是必須要做的,只是不是有開發人員來做了,由編譯器來做,並且編譯器會擦除掉對應的泛型資訊,使用合適的父型別來代替,可能是Object類也可能是宣告泛型時