2014-02-19 3 views
1

Я хочу написать класс сравнения, чтобы впоследствии отсортировать список элементов с помощью этого компаратора, но я получаю сообщение об ошибке. Код выглядит так:класс не может быть разрешен для типа

class Elem { 
      public String user_name; 
      public String given_name; 


      public String getGivenName() { 
       return given_name; 
      } 
     } 

     class Compare implements Comparator<Elem> { 
      public int compare(Elem o1, Elem o2) { 
       return o1.getGivenName().compareTo(o2.getGivenName()); 
      } 
     } 

Это дает мне ошибку:

Elem cannot be resolved to a type

я не уверен, как я могу исправить эту ошибку.

+5

Является файловой структурой, как вы изображали выше? Пожалуйста, добавьте декларацию и импорт пакетов. – Smutje

ответ

2

Это означает, что компилятор не может найти класс Elem.

Не забудьте импортировать его в верхней части вашего класса java, если класс Elem находится в другом пакете.

Также убедитесь, что у вас нет опечатки.

1

Код выше компилируется на моей машине (Java 7) с добавленным импортом.

import java.util.Comparator; 

class Elem { 
    public String user_name; 
    public String given_name; 


    public String getGivenName() { 
     return given_name; 
    } 
} 

class Compare implements Comparator<Elem> { 
    public int compare(Elem o1, Elem o2) { 
     return o1.getGivenName().compareTo(o2.getGivenName()); 
    } 

} 
Смежные вопросы