анализ исходного кода Java --- Boolean

Java задняя часть исходный код

Обзор

Основная функция класса Boolean в Java состоит в том, чтобы инкапсулировать базовый логический тип и предоставить некоторые методы для работы с логическим типом.

какКонструктор(с участиемоператорnew), Boolean() преобразует свой аргумент в логическое значение и возвращает логический объект, содержащий это значение.
При вызове как функции (без оператора new) Boolean() просто преобразует свой аргумент в примитивное логическое значение и в конечном итоге вернет это значение.

главный атрибут

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

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

boolean тип данных логические переменные хранятся как 8-битные (1 байт) числа, но могут принимать только значения True или False.

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

Значение toString для TYPE является логическим.

private final boolean value;

Поскольку это инкапсуляция логического базового типа, должна быть переменная для сохранения, то есть значение, и оно объявлено как final, что указывает на то, что оно неизменяемо.

основной метод

toBoolean метод

private static boolean toBoolean(String name) {
    return ((name != null) && name.equalsIgnoreCase("true"));
}

Когда заданная строка не является нулевой и равна строке true (независимо от регистра, то есть без учета регистра), она возвращает true, а остальные возвращают false

Метод строительства

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

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

Существует два метода построения: первый — передать логический тип и вернуть переданное значение непосредственно вам, второй — тип String, который будет выполняться для типа String.toBooleanРазбор, то есть когда входящая строка равна «истине» независимо от регистра, она считается истинной, в противном случае — ложной.

метод valueOf

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

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

Существует два метода valueOf.Первый – это передача логического типа, а значение получается через тернарную операцию, что, конечно же, эквивалентно прямому возврату вам пришедшего значения.Второй – тип String, который будет выполнять toBoolean для типа String.Синтаксический анализ, то есть когда входящая строка равна "true" независимо от регистра, она считается истинной, в противном случае - ложной.

метод toString

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

public String toString() {
    return value ? "true" : "false";
}

Возвращает объект String, представляющий указанное логическое значение. Если указанное логическое значение истинно, будет возвращена строка «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, он вызовет метод сравнения, выполнит тернарную операцию над двумя булевыми значениями, если два значения равны, вернет 0, если первое логическое значение = true, вернет 1, иначе вернет false

метод равенства

public boolean equals(Object obj) {
    if (obj instanceof Boolean) {
        return value == ((Boolean)obj).booleanValue();
    }
    return false;
}

equalsМетод заключается в том, чтобы сначала определить, создано ли оно из логического значения, а затем продолжить сравнение, равно ли оно.

метод getBoolean

public static boolean getBoolean(String name) {
    boolean result = false;
    try {
        result = toBoolean(System.getProperty(name));
    } catch (IllegalArgumentException e) {
    } catch (NullPointerException e) {
    }
    return result;
}

Получить логическое значение системного свойства, когда значение системного свойства равно ("true"), вернуть true, в противном случае вернуть false, а возвращаемое значение является логическим типом