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

作者: pttworld (批踢踢世界)   2015-05-27 17:11:32
※ 引述《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
作者: noapaov (單身漢)   2015-05-27 17:32:00
可能誤解我的問題, 我想問我的加入的元素是字串,但我實體的物件泛型類型是Integer, 確在執行時沒有報錯可能我寫的不太清楚

Links booklink

Contact Us: admin [ a t ] ucptt.com