概述
Boolean对象包裹了一个基本类型的对象boolean。一个Boolean对象包含了一个boolean类型的成员变量
继承关系
public final class Boolean implements java.io.Serializable, Comparable 实现了java.io.Serializable, Comparable 接口
成员属性
public static final Boolean TRUE = new Boolean(true);
用基本类型boolean创建了一个Boolean对象。在需要值为true的Boolean对象的时候,直接将该对象返回,无需再次新建,或者多次新建对象。节省系统开销。
public static final Boolean FALSE = new Boolean(false);
用基本类型boolean创建了一个Boolean对象。在需要值为false的Boolean对象的时候,直接将该对象返回,无需再次新建,或者多次新建对象。节省系统开销。
public static final Class TYPE = (Class) Class.getPrimitiveClass("boolean");
返回 “boolean”,即返回Boolean对象的基本类型。
private final boolean value;
存储了该Boolean对象的值。
构造器
public Boolean(boolean value) {
this.value = value;
}
public Boolean(String s) {
this(parseBoolean(s));
}
关键方法
+ parseBoolean()
字符串转化为boolean,只有字符串是“true"才发挥true。其他任何字符串都返回false
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
+ booleanValue()
返回当前Boolean对象的值
public boolean booleanValue() {
return value;
}
+ valueOf()
boolean转化为Boolean
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
+ valueOf()
String转化为Boolean。
public static Boolean valueOf(String s) {
return parseBoolean(s) ? TRUE : FALSE;
}
+ equals()
当且仅当目标Object对象是一个Boolean类型。并且值也和当前Boolean相等的时候,返回true。
public boolean equals(Object obj) {
if (obj instanceof Boolean) {
return value == ((Boolean)obj).booleanValue();
}
return false;
}
+ getBoolean()
返回系统变量的值,转化为Boolean
public static boolean getBoolean(String name) {
boolean result = false;
try {
result = parseBoolean(System.getProperty(name));
} catch (IllegalArgumentException | NullPointerException e) {
}
return result;
}
+ compareTo()
比较两个Boolean对象的值。具体比较逻辑,见下一个方法。
public int compareTo(Boolean b) {
return compare(this.value, b.value);
}
+ compare()
比较两个boolean的值。 x == y 返回0 x == true y == false 返回1 x == false y == true 返回-1
public static int compare(boolean x, boolean y) {
return (x == y) ? 0 : (x ? 1 : -1);
}
+ logicalAnd()
逻辑与
public static boolean logicalAnd(boolean a, boolean b) {
return a && b;
}
+ logicalOr()
逻辑或
public static boolean logicalOr(boolean a, boolean b) {
return a || b;
}
+ logicalXor()
逻辑抑或
public static boolean logicalXor(boolean a, boolean b) {
return a ^ b;
}
希望和大家多多交流
我16年毕业以后,做的是前端,目前打算深入学习java开发。内容有任何问题,欢迎各位小伙伴们指正,也希望小伙伴们给我点赞和关注,给我留言,一起交流讨论,共同进步。