Я читал о CompareTo в Java, у меня есть этот код:использование CompareTo в Java
import java.util.Comparator;
public class Test {
Comparator<String> caseInsensitive= new Comparator<String>() {
@Override
public int compare(String s, String b) {
return s.compareTo(b);
}
};
public static void main(String[] args) {
Test t = new Test();
System.out.println(((Comparator<String>) t).compare("baba","baba"));
}
}
Когда я запускаю его я получаю следующее сообщение об ошибке:
Exception in thread "main" java.lang.ClassCastException: Test cannot be cast to java.util.Comparator
at Test.main(Test.java:15)
Как это исправить ?
Обратите внимание, что бросает, в то время как * иногда * необходимо, это немного кода запаха , Если вы вставили бросок, потому что он сказал, что символ 't.compare' не может быть найден, это потому, что его не удалось найти. Сначала вы должны понять сообщения об ошибках, прежде чем пытаться обойти их. –
«Я читал о compareTo в java», вы знаете, что на самом деле вы не используете 'compareTo' в этом коде? :) –