是什麼的超類型或亞型的類型
LinkedList<String> l1 = new LinkedList<String>();
List<String> l2 = new LinkedList<String>();
的差異爲什麼l2
型沒辦法addFirst
而 l1
類型有方法addFirst
?儘管它們都是 持有LinkedList
對象? 相反的是,我從高斯林的讀取其中指出,對象將是你在這種情況下,我與new LinkedList()
即使 它的類型是List使它成爲LinkedList
做什麼它是, 「Java編程語言」
我該如何正確申報?
Collection<String> c = new LinkedList<String>();
List<String> c = new LinkedList<String>();
LinkedList<String> c = new LinkedList<String>();
感謝您的回答!所以你的意思是......我應該始終確保編譯期間的類型應該與執行期間引用所指向的對象互補。 – krato