[英]JAVA: Incompatible types: int cannot be converted to 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.