簡體   English   中英

為什么類型參數Entry會隱藏Map.Entry類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM