2013-05-04 7 views
7

Ich versuche, eine Funktion zu verwenden, die das Entry Objekt verwendet, aber ich bekomme die obige Fehlermeldung. Die Funktion sieht wie folgt aus:Fehler in Eclipse: Die Methode ... vom Typ ... bezieht sich auf den fehlenden Typ Eintrag

public Entry<K,V> insert(K k, V v) throws InvalidKeyException { 
//code here 
} 

Ich versuchte java.util.* importieren, aber das hat nicht funktioniert.

Könnte mir bitte jemand erklären, was diese Fehlermeldung mir sagt und wie ich sie lösen kann?

+0

Ist der Fehler auftritt, nur wenn Eclipse? – Tdorno

+4

'import java.util.Map.Entry;' – johnchen902

+18

Ich verstehe überhaupt nicht, warum die Frage geschlossen wurde. Für mich klingt das sehr vernünftig: Erklärung der Fehlermeldung + Codefragment + versuchsweise Korrekturen + Frage "was es bedeutet und wie man es löst" - genau das, was ich von StackOverflow erwarten würde (sogar der Name der Seite weist darauf hin). Außerdem gibt es eine scheinbar gültige und umfassende Antwort. Ich sehe nicht einmal konkrete Kommentare, die irgendwo darauf hinweisen, dass etwas (was?) "Vage/..." ist und was er reparieren sollte. – akavel

Antwort

3

Der Importversuch java.util.* war auf dem richtigen Weg, weil Sie versuchen, eine Klasse zu verwenden, die nicht im aktuellen Namespace enthalten ist. Der Grund, warum es nicht funktioniert ist, weil Entry nicht in der java.util-Paket ist. Um die Klasse zu importieren, müssen Sie wissen, in welchem ​​Paket sich die Klasse befindet.

Wo haben Sie die Klasse Entry gefunden? Wenn Sie Entry 's javadoc lesen, dann gehen Sie zurück und schauen Sie sich das Javadoc an und sehen Sie, in welchem ​​Paket es sich befindet. Wenn Sie ein Entry Objekt als Ergebnis eines Aufrufs einer anderen Methode erhalten, sehen Sie sich das Javadoc für diese Methode an und folgen Sie die Verbindung zur Entry Klasse, und sehen, wo Entry definiert ist.

Wenn Sie versuchen, einige benutzerdefinierte Entry Klasse zu verwenden, stellen Sie sicher, dass Sie es definiert haben. Wenn Sie Ihre benutzerdefinierte Klasse Entry nicht definiert haben, wird sie nicht definiert, wenn Sie versuchen, sie zu verwenden.

4

Es ist eine innere Klasse von Map.

Entweder

import java.util.Map.Entry; 

oder

public Map.Entry<K,V> insert(K k, V v) throws InvalidKeyException { 
    //code here 
} 
Verwandte Themen