簡體   English   中英

不兼容的類型:卡無法轉換為java.lang.String

[英]Incompatible types: Card cannot be converted to java.lang.String

我的代碼一直出現這個錯誤。 我似乎無法找到問題。

我不知道該怎么辦,因為我甚至查看了教科書,它給了我一個類似的方法,除了不同的變量。

我在BlueJ。

 public int findFirstOfPlayer(String searchString)
{
    int index = 0;
    boolean searching = true;
    while(index < cards.size() && searching) {
        String cardname = cards.get(index); // Error highlights index
        if(cardname.contains(searchString)) {
            searching = false;
        }
        else {
            index++;
        }
        if(searching) {
            return -1;
        }
        else {
            return index;
        }
    }
}

這是問題,如果您使用Eclipse或Idea之類的東西,它甚至會為您突出顯示它。

    String cardname = cards.get(index);

顯然,卡與String不兼容,你不能只是這樣分配,因為你的收集卡可能不是String類型的字符串又是ArrayList<String> cards你可以這樣做:

    String cardname = cards.get(index).toString();

要么

    String cardname = String.valueOf(cards.get(index));

鑒於Card本身就是一個類,你無法將它與字符串進行比較。 您必須實現一個返回字符串的方法,您可以將其與searchString進行比較,或者使用卡片對象中的變量進行比較。 像這樣的東西:

String cardname = cards.get(index).toString();

要么

String cardname = cards.get(index).name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM