Java Boolean 类
最后修改时间:2025 年 4 月 13 日
java.lang.Boolean
类将基本类型 boolean
的值包装在一个对象中。 这个包装类提供了在布尔值和字符串之间进行转换的方法,以及其他实用程序。
Boolean 对象包含一个类型为 boolean
的单个字段。 此类提供常量 TRUE
和 FALSE
,分别表示基本布尔值。 它还包含字符串转换和比较操作的方法。
Boolean 类方法
Boolean 类提供了几个静态和实例方法来处理布尔值。 关键方法包括 valueOf
、parseBoolean
、booleanValue
、toString
和 compare
。
创建 Boolean 对象
可以使用 Boolean.valueOf
方法创建 Boolean 对象,该方法将基本布尔值或字符串表示形式转换为 Boolean
类的实例。 此方法通过重用 true
和 false
的缓存实例而不是每次都创建新对象来确保有效的内存使用。
void main() { Boolean bool1 = Boolean.valueOf(true); Boolean bool2 = Boolean.valueOf("true"); Boolean bool3 = Boolean.valueOf("TRUE"); Boolean bool4 = Boolean.valueOf("false"); System.out.println("bool1: " + bool1); System.out.println("bool2: " + bool2); System.out.println("bool3: " + bool3); System.out.println("bool4: " + bool4); }
此示例演示了如何使用 Boolean.valueOf
初始化 Boolean 对象。 传递字符串参数时,该方法不区分大小写地解释 "true"
,这意味着 "true"
和 "TRUE"
都计算为 true
。 任何其他字符串,包括 "false"
,都会导致 false
。
parseBoolean 方法
parseBoolean
方法将字符串参数解析为布尔基元。 如果字符串等于 "true"(不区分大小写),则返回 true
,否则返回 false
。
void main() { boolean b1 = Boolean.parseBoolean("True"); boolean b2 = Boolean.parseBoolean("true"); boolean b3 = Boolean.parseBoolean("TRUE"); boolean b4 = Boolean.parseBoolean("false"); boolean b5 = Boolean.parseBoolean("FALSE"); boolean b6 = Boolean.parseBoolean("yes"); boolean b7 = Boolean.parseBoolean("1"); System.out.println("b1: " + b1); System.out.println("b2: " + b2); System.out.println("b3: " + b3); System.out.println("b4: " + b4); System.out.println("b5: " + b5); System.out.println("b6: " + b6); System.out.println("b7: " + b7); }
此示例显示了 parseBoolean
如何将字符串转换为布尔值。 只有完全匹配的字符串 "true"(不区分大小写)才会返回 true。 所有其他字符串,包括 "yes" 和 "1",都返回 false。
booleanValue 和 toString 方法
booleanValue
方法返回 Boolean 对象的原始布尔值。 toString
方法将布尔值转换为它们的字符串表示形式。
void main() { Boolean boolObj1 = Boolean.TRUE; Boolean boolObj2 = Boolean.FALSE; // Using booleanValue() boolean prim1 = boolObj1.booleanValue(); boolean prim2 = boolObj2.booleanValue(); // Using toString() String str1 = boolObj1.toString(); String str2 = boolObj2.toString(); String str3 = Boolean.toString(true); String str4 = Boolean.toString(false); System.out.println("prim1: " + prim1); System.out.println("prim2: " + prim2); System.out.println("str1: " + str1); System.out.println("str2: " + str2); System.out.println("str3: " + str3); System.out.println("str4: " + str4); }
此示例演示了 Boolean 对象、基本布尔值和字符串之间的转换。 booleanValue
方法提取原始值,而 toString
将布尔值转换为它们的字符串等效值。
逻辑运算
Boolean 类为逻辑运算提供静态方法:logicalAnd
、logicalOr
和 logicalXor
。 这些对布尔值执行 AND、OR 和 XOR 运算。
void main() { boolean a = true; boolean b = false; boolean andResult = Boolean.logicalAnd(a, b); boolean orResult = Boolean.logicalOr(a, b); boolean xorResult = Boolean.logicalXor(a, b); System.out.println("a AND b: " + andResult); System.out.println("a OR b: " + orResult); System.out.println("a XOR b: " + xorResult); // More complex expressions boolean expr1 = Boolean.logicalAnd( Boolean.logicalOr(a, b), Boolean.logicalXor(a, b) ); System.out.println("(a OR b) AND (a XOR b): " + expr1); }
此示例显示了 Boolean 类提供的逻辑运算。 这些方法等效于使用 &&
、||
和 ^
运算符,但在函数式编程上下文中很有用。
比较方法
Boolean 类提供 compare
和 compareTo
方法来比较布尔值。 这些方法对于排序和排序操作很有用。
void main() { // Using compare (static method) int result1 = Boolean.compare(true, false); int result2 = Boolean.compare(false, true); int result3 = Boolean.compare(true, true); // Using compareTo (instance method) Boolean bool1 = Boolean.TRUE; Boolean bool2 = Boolean.FALSE; int result4 = bool1.compareTo(bool2); int result5 = bool2.compareTo(bool1); int result6 = bool1.compareTo(bool1); System.out.println("compare(true, false): " + result1); System.out.println("compare(false, true): " + result2); System.out.println("compare(true, true): " + result3); System.out.println("TRUE.compareTo(FALSE): " + result4); System.out.println("FALSE.compareTo(TRUE): " + result5); System.out.println("TRUE.compareTo(TRUE): " + result6); }
此示例演示了布尔比较。 当第一个参数为 true 且第二个参数为 false 时,这些方法返回正值;对于相反的情况,返回负值;当两个值相等时,返回零。
在集合中使用 Boolean
Boolean 对象通常在 Java 集合中使用,因为基本类型不能直接存储。 此示例显示了 Boolean 在 ArrayList
和 HashMap 中的用法。
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; void main() { // Using Boolean in a List List<Boolean> boolList = new ArrayList<>(); boolList.add(true); boolList.add(Boolean.FALSE); boolList.add(Boolean.parseBoolean("true")); System.out.println("Boolean List:"); for (Boolean b : boolList) { System.out.println(b); } // Using Boolean in a Map Map<String, Boolean> settings = new HashMap<>(); settings.put("autoSave", true); settings.put("darkMode", false); settings.put("notifications", Boolean.valueOf("TRUE")); System.out.println("\nSettings Map:"); for (Map.Entry<String, Boolean> entry : settings.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); } }
此示例演示了将 Boolean 对象存储在集合中。 ArrayList
存储多个 Boolean 值,而 HashMap
将它们用作与字符串键关联的值。 自动装箱会在原始形式和对象形式之间自动转换。
来源
在本文中,我们介绍了 Java Boolean 类的所有主要方面,并提供了实际示例。 了解这些方法对于在面向对象的上下文和集合中使用布尔值至关重要。
作者
列出所有Java教程。