检查数据的最佳方法是布尔与否

时间:2015-12-03 04:50:52

标签: java boolean

我需要在java中找到String变量的内容是否为boolean。 我得到了#34; True"或"错误"或"垃圾" as String。

在数据是" True"时寻找一种返回true的方法。或"错误" &安培;任何"其他值"。

时为false

我写的代码:

    Boolean checkBoolean(String val){
        boolean result;
        switch(val){
        case "true":
        result =true;
        break;
        case "false":
        result =true;
        break;
        default:
            result = false;
        }
        return result;
    }

提前致谢

10 个答案:

答案 0 :(得分:2)

假设,如果val为TRUE或FALSE(忽略大小写),则需要TRUE。

boolean checkBoolean(String val){
    val = val.toLowerCase();
    return (val.equals("true") || val.equals("false"));
}

另一方面,如果字符串为TRUE(忽略大小写),则要求函数返回true,否则返回false;使用

Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");

对于上述方法,请查看javadoc

使用布尔而不是布尔值只是一个警告。

  • 第一个是Object,第二个是原始类型。
  • 在第一个方面,您将获得更多有用的方法。
  • 考虑到内存费用,第二个便宜。 现在选择你的方式。

答案 1 :(得分:1)

我会在这里质疑目标。你真正想知道的是你是否收到了"true"的可接受形式。在这种情况下,Boolean.parseBoolean()正是您所需要的。

答案 2 :(得分:0)

您应该使用:

public boolean getBool(String s) {
  return (s.equals("True") || s.equals("False"));
} 

如果你想接受不区分大小写,例如:TrUe,fALSe等,请使用

s.equalsIgnoreCase("... ") 

答案 3 :(得分:0)

鉴于案件并不重要,我会尝试以下代码:

boolean checkBoolean(String val){
    if ("true".equalsIgnoreCase(val)) {
        return true;
    } else if ("false".equalsIgnoreCase(val)) {
        return true;
    } else {
        return false;
    }
}

它与上面的内容非常相似,但与案例无关。如果我在这里遗漏了一些隐藏的要求,请告诉我。

答案 4 :(得分:0)

您可以尝试:

 Boolean checkBoolean(String val){
    if(val.trim().equalsIgnoreCase("true"))
    {
       return true;
    }
    else if(val.trim().equalsIgnoreCase("false"))
       return true;
    else
       return false;
}

这样您就不必声明本地布尔变量。

Trim允许您发送带有空格的字符串。

IgnoreCase可以帮助您发送大小写较差的字符串,例如TruEfaLSe

答案 5 :(得分:0)

你可以做到

public boolean isBooleanCheck(String s) {
    return (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("false"));
}

答案 6 :(得分:0)

使用String.matches(字符串表达式)的正则表达式。

返回val.matches(“(?i)(true)|(false)”);

“(?i)”是不区分大小写的。

答案 7 :(得分:-1)

我认为你想要做的就是这样做:

 return myBoolean instanceof Boolean;

答案 8 :(得分:-1)

试试这个:

    public static void main(String[] args) {
        String i = "true";
        boolean z = checkBoolean(i);
        System.out.println(z);
    }

    public static boolean checkBoolean(String i){
        if(i.equalsIgnoreCase("true")||i.equalsIgnoreCase("false")){
            return true;
        }
        return false;
    }

答案 9 :(得分:-2)

数据类型boolean用于包含truefalse的值。因此,如果您将变量声明为boolean,则它将包含truefalse。您可以根据您的要求使用该结果。例如:

boolean i = true;
boolean u = false;