2017-09-17 42 views
-2

創建鏈表似乎有下面的語句之間存在一些差異:在JAVA

LinkedList<String> res = new LinkedList<>(); 

List<String> res = new LinkedList<>(); 

因爲當我使用功能res.peek(),還有第二條語句的錯誤。它說res.peek()找不到。但第一個陳述轉向是正確的。

任何人都可以解釋爲什麼會發生這種情況?

+0

我們需要看到實際的代碼。你可以發佈嗎? –

回答

0

LinkedList是類,它有方法peek()和當你使用列表即接口它沒有方法peek()。這就是爲什麼它像這樣工作。

LinkedList

List

原因是父類或實現的接口並沒有它的子類的屬性。

1)LinkedList res = new LinkedList<>(); 這裏引用變量鏈表其具有peek()方法。

2)List res = new LinkedList<>(); 這裏引用變量列表不具有所述peek()方法。

希望這有助於:)