说我有一个字符串
String strCondition = something.contains("value") && somethingElse.equals("one");
如何将此String转换为布尔条件,以便我能够在IF
语句中使用它?
如果我使用valueOf()
,它会评估字符串的内容吗?
重新编辑:我不知道该怎么做。
我从数据库列中获取值something.contains("value") && somethingElse.equals("one")
。如果我尝试将其分配给boolean
变量,则会显示类型不匹配。
答案 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"))
编辑:
以上内容会返回true
,false
,或者引发讨厌的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