gpt4 book ai didi

java - java中compareTo的使用

转载 作者:行者123 更新时间:2023-12-01 21:15:37 25 4
gpt4 key购买 nike

我正在阅读有关 java 中的compareTo 的内容,我有以下代码:

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)

如何纠正?

最佳答案

您的Test类未实现Comparator<String> ,所以它不能转换为这种类型。它包含一个实现该接口(interface)的成员。

这会起作用:

System.out.println(t.caseInsensitive.compare("baba","baba"));

或者您可以更改您的 Test要实现的类 Comparator<String>直接:

public class Test implements 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(t.compare("baba","baba"));
}

}

关于java - java中compareTo的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com