摘要:根據上面這些原則,一個簡單的例子如下,省略了和可以輸入任何及子類的對象能確定返回的對象一定是或父類的對象只能確定返回的對象一定是選擇限定通配符時的快速判斷方法參考
當使用 super MyClass> 的時候,表明未知類的繼承結構處于 Object 和 MyClass 之間,這時
編譯器只能確定任何返回該未知類型的方法,返回的變量都是 Object 的子類,所以返回的類型就確定為 Object,比如 getter 方法
使用該未知類型作為參數的方法,該參數一定是 MyClass 的父類,所以可以傳遞 MyClass 及其子類進去,比如 setter 方法
而使用 extends MyClass> 的時候,未知類型一定是 MyClass 的子類,但向下延伸到無窮盡,無法判斷
所以返回未知類型的方法的返回類型有一個上界,就是 MyClass,即返回類型確定為 MyClass
但是使用未知類型的方法,因為向下繼承無限延伸,無法判斷下界,所以不能使用該方法,比如 setter(可以 set(null))
使用 > 的時候,可以當作 extends Object>,即上界是 Object,可以使用 getter 方法,不可以使用 setter 方法。
根據上面這些原則,一個簡單的例子如下:
@Data // lombok,省略了 getter 和 setter class Holder{ private T t; public void testSetter(Holder super MyClass> holder, U u) { holder.setT(u); // 可以輸入任何 MyClass 及子類的對象 holder.setT(null); } public void testGetter1(Holder extends MyClass> holder) { MyClass obj = holder.getT(); // 能確定返回的對象一定是 MyClass 或父類的對象 } public void testGetter2(Holder> holder) { Object obj = holder.getT(); // 只能確定返回的對象一定是 Object } } class MyClass{}
選擇限定通配符時的快速判斷方法:
get-put principle:
Use an extends wildcard when you only get values out of a structure, use a super wildcard when you only put values into a structure, and don"t use a wildcard when you do both.
參考:
https://www.ibm.com/developerworks/java/library/j-jtp07018/index.html
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68547.html
摘要:一個人的氣質里有走過的路讀過的書愛過的人又經歷了哪些故事呢引子一部高清電影秒秒鐘就能下載下來遠程游戲再也不會有卡頓和延遲的感覺了依托也出現了一系列的新東西,比如,車聯網自動駕駛遠程控制等等那從哪來的呢她經歷了怎樣的故事才走到如今的樣子本期將一個人的氣質里有走過的路、讀過的書、愛過的人5G 又經歷了哪些故事呢?引子一部高清電影 秒秒鐘 就能下載下來遠程游戲再也不會有卡頓和延遲的感覺了依托 5G...
摘要:近幾年,深度學習高速發展,出現了大量的新模型與架構,以至于我們無法理清網絡類型之間的關系。是由深度學習先驅等人提出的新一代神經網絡形式,旨在修正反向傳播機制。當多個預測一致時本論文使用動態路由使預測一致,更高級別的將變得活躍。 近幾年,深度學習高速發展,出現了大量的新模型與架構,以至于我們無法理清網絡類型之間的關系。在這篇文章中,香港科技大學(HKUST)助理教授金成勳總結了深度網絡類型之間...
摘要:例如改成例如改成以上兩種開發方式都可以結合原生平臺打包成獨立應用。 繼上一篇一張腦圖看懂BUI Webapp移動快速開發框架【上】--框架與工具、資源 大綱 在線查看大綱 思路更佳清晰 1. 框架設計 框架介紹 簡介 BUI 是用來快速構建界面交互的UI交互框架, 專注webapp開發, 開發者只需關注業務的開發, 界面的布局及交互交給BUI, 開發出來的應用, 可以嵌入平臺 ( Li...
閱讀 4083·2023-04-26 01:48
閱讀 3258·2021-10-13 09:40
閱讀 1739·2021-09-26 09:55
閱讀 3612·2021-08-12 13:23
閱讀 1779·2021-07-25 21:37
閱讀 3431·2019-08-30 15:53
閱讀 1392·2019-08-29 14:16
閱讀 1396·2019-08-29 12:59