深入学习java源码之下Boolean类

深入学习java源码之下Boolean类

布尔类将对象中的基元类型boolean的值进行包装。 类型为Boolean的对象包含一个单一字段,其类型为boolean

此外,该类还提供了许多将boolean转换为StringString转换为boolean ,以及在处理boolean时有用的其他常量和方法。

方法摘要

静态方法

Modifier and Type Method and Description
boolean booleanValue()

将此 Boolean对象的值作为布尔基元返回。

static int compare(boolean x, boolean y)

比较两个 boolean值。

int compareTo(Boolean b)

将此 Boolean实例与另一个实例进行比较。

boolean equals(Object obj)

返回 true当且仅当参数不是 null ,并且是一个 Boolean对象,表示与此对象相同的 boolean值。

static boolean getBoolean(String name)

返回 true当且仅当由参数命名的系统属性存在且等于字符串 "true"

int hashCode()

返回此 Boolean对象的哈希码。

static int hashCode(boolean value)

返回一个boolean值的哈希码; 兼容Boolean.hashCode()

static boolean logicalAnd(boolean a, boolean b)

返回将逻辑AND运算符应用于指定的 boolean操作数的结果。

static boolean logicalOr(boolean a, boolean b)

返回将逻辑OR运算符应用于指定的 boolean操作数的结果。

static boolean logicalXor(boolean a, boolean b)

返回将逻辑XOR运算符应用于指定的 boolean操作数的结果。

static boolean parseBoolean(String s)

将字符串参数解析为布尔值。

String toString()

返回一个 String此布尔值的 String对象。

static String toString(boolean b)

返回一个 String指定布尔值的 String对象。

static Boolean valueOf(boolean b)

返回一个 Boolean指定的 boolean值的 Boolean实例。

static Boolean valueOf(String s)

返回一个 Boolean ,其值由指定的字符串表示。

接口方法

Modifier and Type Method and Description
boolean booleanValue()

将此 Boolean对象的值作为布尔基元返回。

int compareTo(Boolean b)

将此 Boolean实例与另一个实例进行比较。

boolean equals(Object obj)

返回 true当且仅当参数不是 null ,并且是一个 Boolean对象,表示与此对象相同的 boolean值。

int hashCode()

返回此 Boolean对象的哈希码。

String toString()

返回一个 String此布尔值的 String对象。

java源码

public final class Boolean implements java.io.Serializable,
                                      Comparable<Boolean>
{

public static final Boolean TRUE = new Boolean(true);


public static final Boolean FALSE = new Boolean(false);

 @SuppressWarnings("unchecked")
    public static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("boolean");


private final boolean value;

private static final long serialVersionUID = -3665804199014368530L;

public Boolean(boolean value) {
        this.value = value;
}

public Boolean(String s) {
        this(parseBoolean(s));
}

    public static boolean parseBoolean(String s) {
        return ((s != null) && s.equalsIgnoreCase("true"));
    }
    public boolean booleanValue() {
        return value;
    }

    public static Boolean valueOf(boolean b) {
        return (b ? TRUE : FALSE);
    }
    public static Boolean valueOf(String s) {
        return parseBoolean(s) ? TRUE : FALSE;
    }

    public static String toString(boolean b) {
        return b ? "true" : "false";
    }

    public String toString() {
        return value ? "true" : "false";
    }
    @Override
    public int hashCode() {
        return Boolean.hashCode(value);
    }
    public static int hashCode(boolean value) {
        return value ? 1231 : 1237;
    }
    public boolean equals(Object obj) {
        if (obj instanceof Boolean) {
            return value == ((Boolean)obj).booleanValue();
        }
        return false;
    }
    public static boolean getBoolean(String name) {
        boolean result = false;
        try {
            result = parseBoolean(System.getProperty(name));
        } catch (IllegalArgumentException | NullPointerException e) {
        }
        return result;
    }
    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);
    }
    public static boolean logicalAnd(boolean a, boolean b) {
        return a && b;
    }
    public static boolean logicalOr(boolean a, boolean b) {
        return a || b;
    }

    public static boolean logicalXor(boolean a, boolean b) {
        return a ^ b;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/85445271