在 Java 中将字符串转为布尔值
-
在 Java 中使用
Boolean.parseBoolean(string)将一个字符串转换为boolean或Boolean -
在 Java 中使用
Boolean.valueOf(string)将字符串转换为boolean或Boolean -
在 Java 中使用
BooleanUtils.toBoolean(string)将一个字符串转换为boolean和Boolean
今天,我们将看三个方法,帮助我们将一个 Java 字符串转换为布尔值。我们可以用一个原始 boolean 或 Boolean 对象一起使用。虽然 Boolean 类封装了基元 boolean,但我们将在下面的例子中看到这两种情况。
在 Java 中使用 Boolean.parseBoolean(string) 将一个字符串转换为 boolean 或 Boolean
第一个例子使用 Boolean 类的 parseBoolean(string) 方法。它直接解析或转换一个给定的字符串,返回一个代表该字符串的原始 boolean。需要注意的是,当传递的字符串值不是 true 或 false 时,该方法将返回 false。
由于我们知道 parseBoolean() 返回的是一个 boolean,我们可以将返回的值作为 boolean bool 和 boolean boolObj,因为 boolean 类中有原始 boolean。
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "false";
boolean bool = Boolean.parseBoolean(exampleString);
Boolean boolObj = Boolean.parseBoolean(exampleString);
System.out.println("Primitive boolean: " + bool);
System.out.println("Boolean object: " + boolObj);
}
}
输出:
Primitive boolean: false
Boolean object: false
在 Java 中使用 Boolean.valueOf(string) 将字符串转换为 boolean 或 Boolean
Boolean 类的另一个将字符串转换为布尔值的静态函数是 valueOf()。它将字符串作为参数,并返回一个代表该字符串的 Boolean 值。下面我们可以看到,exampleString 是以 true 作为字符串初始化的,我们把它传递给 valueOf(string) 方法。
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "true";
boolean bool = Boolean.valueOf(exampleString);
Boolean boolObj = Boolean.valueOf(exampleString);
System.out.println("Primitive boolean: " + bool);
System.out.println("Boolean object: " + boolObj);
}
}
输出:
Primitive boolean: true
Boolean object: true
在 Java 中使用 BooleanUtils.toBoolean(string) 将一个字符串转换为 boolean 和 Boolean
在上述两种方法中,如果字符串值不是 true 或 false,函数总是返回 false。这个问题可以使用 apache 通用库的 BooleanUtils.toBoolean() 方法来解决。
我们在项目中使用以下依赖关系来包含该库。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
在下面的例子中,我们有三个字符串。yes、no 和 true。为了将所有这些值转换为布尔值,我们将使用 BooleanUtils.toBoolean(string) 并将字符串作为参数传递。在输出中,我们可以看到所有的值都被正确解析。yes 被转换为 true,no 被转换为 false。
import org.apache.commons.lang3.BooleanUtils;
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "yes";
String exampleString1 = "no";
String exampleString2 = "true";
boolean bool1 = BooleanUtils.toBoolean(exampleString);
Boolean boolObj1 = BooleanUtils.toBoolean(exampleString);
boolean bool2 = BooleanUtils.toBoolean(exampleString1);
Boolean boolObj2 = BooleanUtils.toBoolean(exampleString1);
boolean bool3 = BooleanUtils.toBoolean(exampleString2);
Boolean boolObj3 = BooleanUtils.toBoolean(exampleString2);
System.out.println("Primitive boolean 1: " + bool1);
System.out.println("Boolean object 1: " + boolObj1);
System.out.println("Primitive boolean 2: " + bool2);
System.out.println("Boolean object 2: " + boolObj2);
System.out.println("Primitive boolean 3 : " + bool3);
System.out.println("Boolean object 3: " + boolObj3);
}
}
输出:
Primitive boolean 1: true
Boolean object 1: true
Primitive boolean 2: false
Boolean object 2: false
Primitive boolean 3 : true
Boolean object 3: true
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn