簡體   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