Re: [問題] 關於泛型 資料型態的疑問

看板java作者 (批踢踢世界)時間10年前 (2015/05/27 17:11), 10年前編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/6 (看更多)
※ 引述《noapaov (單身漢)》之銘言: : 請問一下各位大大關於泛型操作上的問題, : ParentList p = new ChildList(); : 這段code 代表變數p可以呼叫parentList的所有成員, 而執行的時候是呼叫childList.test()實體 : 但我在使用泛型的時候, 假設我使用如下 : ArrayList obj = new ArrayList<Integer>(); : 其實等同 ArrayList<Object> obj = new ArrayList<Integer>(); : 表示我可以加入任何的物件到obj裡面, 問題來了, 我所產生的物件<T>是Integer : 編譯器沒有報錯我的理解是因為我宣告的是ArrayList<Object> obj, : 但為什麼我在 "執行" obj.add("test"); 加入字串時, 運行時也不會有問題 : 甚至我在執行obj.get(0), 他印出的還是"test", 而不是數字 ? Object o = "test"; System.out.println(o); System.out.println(o.toString()); and keyword Polymorphism -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.172.93 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1432717894.A.EB0.html

05/27 17:32, , 1F
可能誤解我的問題, 我想問我的加入的元素是字串,
05/27 17:32, 1F

05/27 17:33, , 2F
但我實體的物件泛型類型是Integer, 確在執行時沒有報錯
05/27 17:33, 2F

05/27 17:33, , 3F
可能我寫的不太清楚
05/27 17:33, 3F
Polymorphism maybe plus a keyword: Inherit ※ 編輯: pttworld (111.248.172.93), 05/27/2015 17:39:45
文章代碼(AID): #1LPOf6wm (java)
文章代碼(AID): #1LPOf6wm (java)