概况
Java的Boolean类主要作用就是对基本类型boolean进行封装,提供了一些处理boolean类型的方法。
主要属性
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);复制代码
boolean 数据类型 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。
public static final Class<Boolean> TYPE = Class.getPrimitiveClass("boolean");
复制代码
TYPE的toString的值是boolean。
private final boolean value;
复制代码
既然是对基本类型boolean的封装,那必然要有一个变量来保存,即value,而且它被声明为final,表明它是不可变的。
主要方法
toBoolean方法
private static boolean toBoolean(String name) {
return ((name != null) && name.equalsIgnoreCase("true"));
}
复制代码
当所给字符串 不为null,且等于字符串true时(不论大小写,即大小写不敏感),返回true,其余返回false
构造方法
public Boolean(boolean value) {
this.value = value;
}
public Boolean(String s) {
this(toBoolean(s));
}复制代码
构造方法有两种,第一种是传入boolean类型,直接将传入的值返回给你,第二种是String类型,对于String类型会进行toBoolean解析,即当传入的字符串忽略大小写等于”true”时判断为true,否则为false。
valueOf方法
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
public static Boolean valueOf(String s) {
return toBoolean(s) ? TRUE : FALSE;
}复制代码
valueOf方法有两种,第一种是传入boolean类型,通过三目运算求出值,当然也相当于直接将传入的值返回给你,第二种是String类型,对于String类型会进行toBoolean解析,即当传入的字符串忽略大小写等于”true”时判断为true,否则为false。
toString方法
public static String toString(boolean b) {
return b ? "true" : "false";
}
public String toString() {
return value ? "true" : "false";
}复制代码
返回表示指定布尔值的String对象。如果指定的布尔值为true,则字符串“true”将被返回,否则字符串“false”将被返回。
hashCode方法
public int hashCode() {
return value ? 1231 : 1237;
}
复制代码
即true返回1231而false返回1237。
compareTO方法
public int compareTo(Boolean b) {
return compare(this.value, b.value);
}
public static int compare(boolean x, boolean y) {
return (x == y) ? 0 : (x ? 1 : -1);
}复制代码
compareto方法,它会调用compare方法,对于两个boolean值进行三目运算,如果两个值相等,则返回0,如果第一个boolean值=true,返回1,反之返回false
equals方法
public boolean equals(Object obj) {
if (obj instanceof Boolean) {
return value == ((Boolean)obj).booleanValue();
}
return false;
}复制代码
equals
方法就是先判断是不是从Boolean实例化出来的,然后再继续比较是不是相等。
getBoolean方法
public static boolean getBoolean(String name) {
boolean result = false;
try {
result = toBoolean(System.getProperty(name));
} catch (IllegalArgumentException e) {
} catch (NullPointerException e) {
}
return result;
}复制代码
获取一个系统属性的boolean值,当系统属性的值equal(“true”)时,返回true,否则返回false,并且返回值是boolean型