package java.lang
文章目录
- @since JDK1.0
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)
private final boolean value
构造方法
public Boolean(boolean value)
public Boolean(boolean value) {
this.value = value;
}
public Boolean(String s)
字符串s忽略大小写后与“true”相等,则返回(Boolean)true
public Boolean(String s) {
this(parseBoolean(s));
}
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
public boolean booleanValue() {
return value;
}
成员方法
官方推荐方式valueOf() for “significantly better space and time performance”
* If a new {@code Boolean} instance is not required, this method
* should generally be used in preference to the constructor
* {@link #Boolean(boolean)}, as this method is likely to yield
* significantly better space and time performance.
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";
}
toString
public String toString() {
return value ? "true" : "false";
}
@Override
public int hashCode() {
return Boolean.hashCode(value);
}
hashCode
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;
}
getBoolean
获取系统属性
public static boolean getBoolean(String name) {
boolean result = false;
try {
result = parseBoolean(System.getProperty(name));
} catch (IllegalArgumentException | NullPointerException e) {
}
return result;
}
compareTo
相同为0,this.value为true返回1,b.value为true返回-1
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;
}