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进行比较。

results matching ""

    No results matching ""