[英]error: incompatible types: boolean cannot be converted to int
我收到錯誤消息:不兼容的類型:在Android Studio中編譯android應用程序時, 布爾值無法轉換為int錯誤。 問題僅在於一種方法。
private static int get_wx_inx(String str) {
boolean equalsIgnoreCase = str.equalsIgnoreCase("木");
int equalsIgnoreCase2 = str.equalsIgnoreCase("火");
if (str.equalsIgnoreCase("土")) {
equalsIgnoreCase2 = true;
}
if (str.equalsIgnoreCase("金")) {
equalsIgnoreCase2 = 3;
}
return str.equalsIgnoreCase("水") ? 4 : equalsIgnoreCase2;
}
我不知道有什么問題。 您能幫我解決問題嗎? 提前致謝。
您的問題尚不清楚,但您可能需要這樣做:
private static int get_wx_inx(String str) {
if(str.equalsIgnoreCase("木")) {
return 0;
} else if(str.equalsIgnoreCase("火")) {
return 1;
}else if(str.equalsIgnoreCase("土")) {
return 2;
} else if(str.equalsIgnoreCase("金")) {
return 3;
} else if(str.equalsIgnoreCase("水")) {
return 4;
} else {
return 0;// write default return here. If every condition goes false then this default will be return.
}
}
問題在於此語句:
int equalsIgnoreCase2 = str.equalsIgnoreCase("火");
equalsIgnoreCase()
方法返回一個boolean
值,並且您將其分配給一個int
值。 這就是為什么它會給出此錯誤。
您可以在switch語句中使用Strings並返回各自的int值。
https://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html
由於我們不能為返回值使用混合類型。 您可以考慮0(FALSE)和1(TRUE)。 或任何此類隨機值。
Java不是C語言,因此布爾值不能是整數,它們是完全不同的類型,不能混合使用。 在第三行中,您將布爾值分配給int
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.