首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:不兼容类型:布尔值不能转换为int

错误:不兼容类型:布尔值不能转换为int
EN

Stack Overflow用户
提问于 2019-01-04 07:12:28
回答 4查看 11.6K关注 0票数 0

我得到了错误:不兼容类型:在android中编译安卓应用程序时,布尔值不能转换为int错误。问题是只有一种方法。

代码语言:javascript
复制
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;
}

我不知道怎么回事。你能帮我解决这个问题吗。提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-04 07:35:07

您的问题还不太清楚,但您可能需要这样做:

代码语言:javascript
复制
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.
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2019-01-04 07:30:01

您可以在switch语句中使用String并返回相应的int值。

https://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html

因为返回值不能有混合类型。您可以考虑0(FALSE)和1(TRUE)。或者任何这样的随机值。

票数 2
EN

Stack Overflow用户

发布于 2019-01-04 07:15:33

问题在于这一说法:

代码语言:javascript
复制
int equalsIgnoreCase2 = str.equalsIgnoreCase("火");

equalsIgnoreCase()方法返回一个boolean值,并将其分配给int值。这就是为什么它会产生这个错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54034507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档