[英]How to convert String value to Boolean value in Java
我有通过 Java 套接字返回的字符串值。 字符串值如下所示
<command valid="true" />
and
<command name="LoadDocument" executed="true" />
我需要读取此字符串并将“有效”和“执行”部分值存储到 Boolean 变量中。 (“有效”和“执行”部分可以是真或假)。 我尝试了以下解决方案,
String str = "<command valid=\"true\" />"; // stored command in a String variable
boolean bool = Boolean.parseBoolean(str); // pass it as an argument
但布尔值始终为假。 我怎样才能做到这一点?
您可以安全地执行此操作。 首先,您必须确保字符串不是 null 并且其值为 Here,忽略大小写。 因此,“true”或“TRUE”将返回 boolean true 否则为 false
String str = "true";
String str1 = "ok";
boolean bool = Boolean.parseBoolean(str);
System.out.println(bool);
boolean bool1 = Boolean.parseBoolean(str1);
System.out.println(bool1);
结果
true
false
我认为您可以使用正则表达式regex101.com :
private static final String REGEXP = "<command.+(?:valid|executed)=\"(?<val>[^\"]+)\"\\s*\\/>";
private static final Pattern PATTERN = Pattern.compile(REGEXP);
public static boolean isValidOrExecuted(String str) {
Matcher matcher = PATTERN.matcher(str);
boolean matches = matcher.matches();
return matches && Boolean.parseBoolean(matcher.group("val"));
}
演示:
System.out.println(isValidOrExecuted("<command valid=\"true\" />")); // true
System.out.println(isValidOrExecuted("<command valid=\"false\" />")); // false
System.out.println(isValidOrExecuted("<command name=\"LoadDocument\" executed=\"true\" />")); // true
System.out.println(isValidOrExecuted("<command name=\"LoadDocument\" executed=\"false\" />")); // false
字符串有效 = “真”; 字符串执行=“真”;
Boolean 有效解析 = Boolean.parseBoolean(有效); Boolean 已执行Parsed = Boolean.parseBoolean(已执行);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.