将字符串转换为布尔条件

时间:2014-06-18 06:25:11

标签: java boolean-expression

说我有一个字符串

String strCondition = something.contains("value") && somethingElse.equals("one");

如何将此String转换为布尔条件,以便我能够在IF语句中使用它?

如果我使用valueOf(),它会评估字符串的内容吗?

重新编辑:我不知道该怎么做。

我从数据库列中获取值something.contains("value") && somethingElse.equals("one")。如果我尝试将其分配给boolean变量,则会显示类型不匹配。

5 个答案:

答案 0 :(得分:6)

你不会。

它已经是一个布尔表达式。

something.contains("value") - >这将返回true或false &安培;&安培; somethingElse.equals("one"); - >这也会返回true或false。

你需要的是:

boolean strCondition = something.contains("value") && somethingElse.equals("one");
if ( strCondition )

if ( something.contains("value") && somethingElse.equals("one"))

编辑:

以上内容会返回truefalse,或者引发讨厌的NullPointerException

为了避免后者,你应该使用:

if ( "one".equals(somethingElse) && (something != null && something.contains("value"))

答案 1 :(得分:3)

你可以使用这些:

if (strCondition.equals("true")) 

if (Boolean.getBoolean(strCondition)) 

if (Boolean.valueOf(strCondition)) 

答案 2 :(得分:2)

something.contains("value") && somethingElse.equals("one");// returns a boolean . why put it into a String in the first place?

答案 3 :(得分:1)

首先阅读JavaDoc!

  

Boolean.valueOf(String s) 会返回带有值的布尔值   由指定的字符串表示。返回的布尔值表示一个   如果字符串参数不为null且相等,则忽略该值   case,to string" true"。

示例代码

if(Boolean.valueOf(strCondition)) {

}

答案 4 :(得分:1)

contains并且等于字符串返回的方法boolean您无法转换为String