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

Java 在主类方法中找不到字符串方法,java,string,class,methods,main,Java,String,Class,Methods,Main,我有大约一年的Java编程经验,我在主类中创建了一个静态方法,出于某种原因,每当我编译它时,都会出现一个错误,即无法找到String类中的compareTo()方法 方法如下: public static void displaySpecificResort(String resortName, Resort[] resortList) { int low = 0; int high = resortList.length - 1; int mid;

我有大约一年的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.");
  }
符号:方法比较(字符串) 地点:class度假村

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


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

你的
度假酒店
方法似乎没有声明
方法的比较。此方法通常属于接口。确保您的类实现了它

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

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

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

似乎您的
Resort
方法没有声明
compareTo
方法。此方法通常属于接口。确保您的类实现了它

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

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

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

似乎您的
Resort
方法没有声明
compareTo
方法。此方法通常属于接口。确保您的类实现了它

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

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

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

似乎您的
Resort
方法没有声明
compareTo
方法。此方法通常属于接口。确保您的类实现了它

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

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

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

让我们看看你的
度假村
课程,我们可以告诉你问题出在哪里。你的mid只是
mid=high
,也许你的意思是
mid=low+(high-low)/2
mid=(低+高)>>1
向我们展示您的
度假村
课程,我们可以告诉您问题所在。您的mid只是
mid=high
,也许您的意思是
mid=low+(high-low)/2
mid=(低+高)>>1
向我们展示您的
度假村
课程,我们可以告诉您问题所在。您的mid只是
mid=high
,也许您的意思是
mid=low+(high-low)/2
mid=(低+高)>>1
向我们展示您的
度假村
课程,我们可以告诉您问题所在。您的mid只是
mid=high
,也许您的意思是
mid=low+(high-low)/2
mid=(低+高)>>1啊!多么愚蠢,我忘了使用Resort类中的getter方法来比较Resort对象中的字符串字段和参数。这似乎解决了问题。谢谢你的回答!啊!!多么愚蠢,我忘了使用Resort类中的getter方法来比较Resort对象中的字符串字段和参数。这似乎解决了问题。谢谢你的回答!啊!!多么愚蠢,我忘了使用Resort类中的getter方法来比较Resort对象中的字符串字段和参数。这似乎解决了问题。谢谢你的回答!啊!!多么愚蠢,我忘了使用Resort类中的getter方法来比较Resort对象中的字符串字段和参数。这似乎解决了问题。谢谢你的回答!