StringBuffer
- 构造器
// 默认构造器容量16个字符
public StringBuilder() {
super(16);
}
// 可设置容量构造器
public StringBuilder(int capacity) {
super(capacity);
}
// 字符串构造器,长度默认+16
public StringBuilder(String str) {
super(str.length() + 16);
append(str);
}
public StringBuilder(CharSequence seq) {
this(seq.length() + 16);
append(seq);
}
StringBuilder的append族,insert族等方法都为调用AbstractStringBuilder父类方法,不做赘述
Boolean
- 静态变量
// TRUE or FALSE
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
// Type指代boolean基础类型
public static final Class<Boolean> TYPE =
(Class<Boolean>) Class.getPrimitiveClass("boolean");
// value为基础类型boolean
private final boolean value;
- 构造器
// 基础类型构造器
public Boolean(boolean value) {
this.value = value;
}
// 字符串构造器
public Boolean(String s) {
this(parseBoolean(s));
}
// 需要判断是否null及是否等于忽略大小写的"true"
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
- 基础方法
// 获取value
public boolean booleanValue() {
return value;
}
// 转Boolean方法
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
// 字符串转Boolean方法
public static Boolean valueOf(String s) {
return parseBoolean(s) ? TRUE : FALSE;
}
// 返回"true"或"false"
public static String toString(boolean b) {
return b ? "true" : "false";
}
// 无参数返回"true"或"false"
public String toString() {
return value ? "true" : "false";
}
- hashCode方法
public int hashCode() {
return Boolean.hashCode(value);
}
// 固定返回1231 or 1237
// 1231 与1237是大于31的素数,这个数字的选择只需要为素数,可以优化散列表的性能
public static int hashCode(boolean value) {
return value ? 1231 : 1237;
}
- 获取系统配置key的值
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);
}
// 判断是否相等,相等判断是否为1即true
public static int compare(boolean x, boolean y) {
return (x == y) ? 0 : (x ? 1 : -1);
}
- 条件方法
// 返回 a && b
public static boolean logicalAnd(boolean a, boolean b) {
return a && b;
}
// 返回 a 或者 b 为true
public static boolean logicalOr(boolean a, boolean b) {
return a || b;
}
// 异或运算
public static boolean logicalXor(boolean a, boolean b) {
return a ^ b;
}