2013-05-04 9 views
7

Próbuję użyć funkcji, która korzysta z obiektu Entry, ale otrzymuję powyższy komunikat o błędzie. Funkcja wygląda następująco:Błąd w Eclipse: Metoda ... z typu ... odnosi się do brakującego typu Entry

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

Próbowałem importować java.util.*, ale to nie zadziałało.

Czy ktoś mógłby mi wyjaśnić, co mówi mi ten komunikat o błędzie i jak go rozwiązać?

+0

Czy błąd występuje tylko przy użyciu Eclipse? – Tdorno

+4

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

+18

Całkowicie nie rozumiem, dlaczego pytanie zostało zamknięte. Dla mnie brzmi to bardzo rozsądnie: komunikat o błędzie + fragment kodu + próba naprawienia + pytanie "co to znaczy i jak rozwiązać" - dokładnie to, czego oczekiwałbym na StackOverflow (nawet sama nazwa strony podpowiadała w tym miejscu). Ponadto istnieje pozornie ważna i wyczerpująca odpowiedź. Nie widzę nawet konkretnych komentarzy sugerujących, że coś (co?) Jest "niewyraźne/..." i co powinien naprawić. – akavel

Odpowiedz

3

Próba importowania java.util.* była na właściwej ścieżce, ponieważ próbujesz użyć klasy, która nie znajduje się w bieżącym obszarze nazw. Powodem, dla którego to nie zadziałało, jest to, że Entry nie znajduje się w pakiecie . Aby zaimportować klasę, musisz wiedzieć, jaki pakiet ma ta klasa.

Gdzie znalazłeś klasę Entry? Jeśli czytasz javadoc Entry, to wróć i spójrz na javadoc i zobacz, jaki to pakiet. Jeśli otrzymujesz obiekt Entry w wyniku wywołania innej metody, spójrz na javadoc dla tej metody, a następnie wykonaj łącze do klasy Entry i zobacz, gdzie zdefiniowano Entry.

Jeśli próbujesz użyć niestandardowej klasy Entry, upewnij się, że ją zdefiniowałeś. Jeśli nie zdefiniowałeś niestandardowej klasy Entry, nie zostanie ona zdefiniowana podczas próby jej użycia.

4

To jest klasa wewnętrzna z klasy z Map.

Albo

import java.util.Map.Entry; 

lub

public Map.Entry<K,V> insert(K k, V v) throws InvalidKeyException { 
    //code here 
} 
Powiązane problemy