Java 的 Boolean 类将基本类型 boolean 的值封装进一个对象中。一个 Boolean 类型的对象包含一个类型为 boolean 的字段。
Java 中的 Boolean 类声明
以下是 java.lang.Boolean 类的声明:
public final class Boolean
extends Object
implements Serializable, Comparable<Boolean>
这意味着 Boolean 类是一个不可继承的类(final),它继承自 Object 并实现了 Serializable 和 Comparable 接口。Comparable 接口允许 Boolean 对象能够相互比较。
Boolean 类的字段
以下是 java.lang.Boolean 类的字段:
-
static Boolean FALSE:这是对应于基本值 false 的 Boolean 对象。
-
static Boolean TRUE:这是对应于基本值 true 的 Boolean 对象。
-
static Class<Boolean> TYPE:这是表示基本类型 boolean 的 Class 对象。
Boolean 类的构造器
以下是 Boolean 类的构造器:
-
Boolean(boolean value):这会分配一个表示 value 参数的 Boolean 对象。
-
Boolean(String s):这会分配一个 Boolean 对象,该对象表示字符串参数为非空并且忽略大小写的情况下等于字符串 "true" 的值。
Boolean 类的方法
以下是 Boolean 类的一些方法:
-
boolean booleanValue():返回此 Boolean 对象作为基本类型的 boolean 值。
-
int compareTo(Boolean b):此方法比较此 Boolean 实例与另一个。
-
boolean equals(Object obj):如果且仅当参数不为空并且是一个 Boolean 对象,表示与此对象相同的布尔值,则返回 true。
-
static boolean getBoolean(String name):如果且仅当由参数命名的系统属性存在并且等于字符串 "true" 时,返回 true。
-
int hashCode():返回此 Boolean 对象的哈希码。
-
static int hashCode(boolean value):返回给定布尔值的哈希码。它与 Boolean.hashCode() 兼容。
-
static boolean logicalAnd(boolean a, boolean b):返回应用逻辑 AND 运算符到指定布尔操作数的结果。
-
static boolean logicalOr(boolean a, boolean b):返回应用逻辑 OR 运算符到指定布尔操作数的结果。
-
static boolean logicalXor(boolean a, boolean b):返回应用逻辑 XOR 运算符到指定布尔操作数的结果。
-
static boolean parseBoolean(String s):解析字符串参数为布尔值。
-
String toString():返回表示此 Boolean 值的 String 对象。
-
static String toString(boolean b):返回表示指定布尔值的 String 对象。
-
static Boolean valueOf(boolean b):返回表示指定布尔值的 Boolean 实例。
-
static Boolean valueOf(String s):返回具有由指定字符串表示的值的 Boolean。
继承的方法
此类继承自以下类的方法:
Java Boolean 类示例
下面的示例展示了 Boolean 类提供的某些重要方法的用法:
package com.tutorialspoint;
public class BooleanDemo {
public static void main(String[] args) {
Boolean b1, b2;
b1 = Boolean.valueOf(true);
b2 = Boolean.valueOf(false);
int res;
res = b1.compareTo(b2);
String str1 = "Both values are equal ";
String str2 = "Object value is true";
String str3 = "Argument value is true";
if( res == 0 ) {
System.out.println( str1 );
} else if( res > 0 ) {
System.out.println( str2 );
} else if( res < 0 ) {
System.out.println( str3 );
}
}
}
编译并运行上述程序,将会产生以下结果:
Object value is true
这是因为 b1 的值为 true,而 b2 的值为 false。当 compareTo 方法被调用时,它会按照自然排序来比较这两个对象。由于 true 在自然排序中位于 false 之前,因此 b1.compareTo(b2) 返回一个正数,表示 b1 大于 b2。