如何在Java中检查给定字符串是否为布尔值?

时间:2015-03-18 04:41:31

标签: java string boolean

我有一个字符串。我必须验证它是否是boolean类型?

布尔条件如下:

{ TRUE,True,true,T,t,YES,Yes,yes,Y,y}

和负面情况一样。

3 个答案:

答案 0 :(得分:1)

您可以使用String.matches(String)

if (map.get(key).matches("(?i)t(rue)?|y(es)?")) {
  // true boolean
} else if (map.get(key).matches("(?i)f(alse)?|n(o)?")) {
  // false boolean
} else {
  // not boolean
}

匹配的参数是正则表达式。

(?i)说要忽略大小写。

表格t(rue)?只说t或true(rue是可选的)

| (酒吧字符)就像在说或

其余的单词被定义为真实的

答案 1 :(得分:1)

设置一次,一次:

static final Set<String> trueStrings = new HashSet<>(Arrays.asList("TRUE", "true", "True", "T", "t", "YES", "Yes", "yes", "Y", "y"));

然后,每次你想测试一个字符串:

boolean isTrue = trueStrings.contains(yourString);

答案 2 :(得分:0)

而不是使用

复制代码
"true".equals(map.get(key).toString()) || "TRUE".equals(map.get(key).toString()) || True".equals(map.get(key).toString())

您可以使用equalsIgnoreCase方法,因此它变为

"true".equalsIgnoreCase(map.get(key).toString())

tT

相同