Boolean类是基本类型boolean的包装类。
类定义:
public final class Boolean implements Serializable, Comparable<Boolean>
类的定义与Integer类似,这里就不累赘了。
属性:
私有属性:
private final boolean value;(value属性就是Boolean对象中真正保存boolean值的)
当我们使用new Boolean(True)创建一个Boolean对象的时候,就会用以下形式给value赋值
public Boolean(boolean arg0) {
this.value = arg0;
}
公共属性:
//ture对应的Boolean静态常量。
public static final Boolean TRUE = new Boolean(true);
//false对应的Boolean静态常量
public static final Boolean FALSE = new Boolean(false);
public static final Class<Boolean> TYPE = Class
.getPrimitiveClass("boolean");
方法:
Boolean提供了两个构造方法:
//构造一个新分配的 Boolean 对象,它表示指定的 boolean 值。
public Boolean(boolean arg0) {
this.value = arg0;
}
//构造一个新分配的 Boolean 对象,它表示 String 参数所指示的 boolean 值。
public Boolean(String arg0) {
this(toBoolean(arg0));
}
Boolean valueOf(boolean i)方法:
//valueOf方法源码
public static Boolean valueOf(boolean arg) {
return arg ? TRUE : FALSE;
}
当参数是true时取常量TRUE,当参数是false时取常量FALSE。
String转成Boolean的方法:
boolean getBoolean(String arg)
boolean toBoolean(String arg)
parseBoolean(String arg)
Boolean valueOf(String arg)
getBoolean:
public static boolean getBoolean(String arg) {
boolean arg0 = false;
try {
arg0 = toBoolean(System.getProperty(arg));
} catch (IllegalArgumentException arg2) {
;
} catch (NullPointerException arg3) {
;
}
return arg0;
}
确定具有指定名称的系统属性的Boolean值。
toBoolean:
private static boolean toBoolean(String arg)
{
return arg != null && arg.equalsIgnoreCase("true");
}
将参数与字符串true进行比较
parseBoolean:
public static boolean parseBoolean(String arg) {
return toBoolean(arg);
}
该方法调用toBoolean,将String转化为boolean。
boolean转成String的方法:
String toString(boolean arg)
直接看toString方法,toString方法的定义比较简单,就是把一个boolean类型转换成字符串类型。
public static String toString(boolean arg) {
return arg ? "true" : "false";
}
compareTo方法:
public int compareTo(Boolean arg0) {
return compare(this.value, arg0.value);
}
public static int compare(boolean arg, boolean arg0) {
return arg == arg0 ? 0 : (arg ? 1 : -1);
}
代码实现比较简单,就是拿出其中的boolean类型的value进行比较。