[英]Why the type parameter Entry is hiding the type Map.Entry?
Eclipse抱怨此代碼帶有“ 類型參數Entry隱藏類型Map.Entry ”:
import java.util.Map.Entry;
public class Test {
static abstract class EntryIterator<Entry<K, V>> implements Iterator<K, V> {
}
}
我不太了解這里的問題-有問題的類型是 java.util.Map.Entry
。 那陰影本身如何? 我應該如何聲明內部類使其編譯?
問題是聲明的這一部分:
class EntryIterator<Entry<K, V>>
試圖聲明一個稱為Entry<K, V>
的類型參數 (無效)。 然后,您要說該類實現 Iterator<K, V>
,這也是無效的,因為Iterator
僅具有單個類型參數。
我懷疑你的意思是:
class EntryIterator<K, V> implements Iterator<Entry<K, V>>
我想你是說
static abstract class EntryIterator<T extends Entry<?, ?>> implements Iterator<T>
這將約束置於EntryIterator的通用參數T上,以使其必須是某物的Entry。 您使用創建實例
new EntryIteartor<Map.Entry<K, V>>(...);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.