繁体   English   中英

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

[英]String method cannot be found in a main class method

我有大约一年的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)位置:类Resort

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

符号:方法compareTo(String)位置:类Resort

2个错误

有人可以解释为什么这样做吗? 我有种忘记重要的感觉的感觉。

看来您的Resort方法没有声明compareTo方法。 此方法通常属于Comparable接口。 确保您的课程实现了它。

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

另外,您可以比较度假村的名称。 例如

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM