gpt4 book ai didi

java - 在主类方法中找不到字符串方法

转载 作者:行者123 更新时间:2023-12-01 23:18:38 24 4
gpt4 key购买 nike

我有大约一年的 Java 编程经验,我在主类中创建了一个静态方法,由于某种原因,每当我编译它时都会出现错误,指出 String 类中的compareTo() 方法可以'找不到。

方法如下:

 public static void displaySpecificResort(String resortName, Resort[] resortList)  
{
int low = 0;
int high = resortList.length - 1;
int mid;
while (low <= high)
{
mid = low + (high - low);
if (resortList[mid].compareTo(resortName)<0)
low = mid + 1;
else if (resortList[mid].compareTo(resortName)>0)
high = mid - 1;
else resortList[mid].display();
}
if(resortList[mid].getName().compareTo(resortName)!= 0)
System.out.println("Resort could not be found.");
}

这是我尝试编译时出现的错误:

ResortOrganizer.java:157: error: cannot find symbol
if (resortList[mid].compareTo(resortName)<0)
^

符号:方法compareTo(String) 地点:一流度假村

ResortOrganizer.java:159: error: cannot find symbol
else if (resortList[mid].compareTo(resortName)>0)
^

符号:方法compareTo(String) 地点:一流度假村

2 个错误

有人可以解释一下为什么这样做吗?我有一种感觉,我忘记了一些重要的事情。

最佳答案

您的 Resort 方法似乎没有声明 compareTo 方法。此方法通常属于Comparable界面。确保你的类实现它。

此外,compareTo 方法通常被实现为接受与调用该方法的对象类型相同的参数。因此,您不应该传递 String 参数,而应该传递 Resort

或者,您可以比较度假村的名称。例如

if (resortList[mid].getResortName().compareTo(resortName)>0) 

关于java - 在主类方法中找不到字符串方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20863935/

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