package java.lang; /** * Wrapper class for booleans. * @author Sven Köhler */ public final class Boolean implements Comparable<Boolean> { public static final Boolean FALSE = new Boolean(false); public static final Boolean TRUE = new Boolean(true); // References to the following field are automatically replaced with a load // of the correct value by the linker, so no need to initialize. public static final Class<?> TYPE = null; //MISSING implements Serializable //MISSING public static getBoolean(String name); private final boolean value; public Boolean(boolean b) { this.value = b; } public Boolean(String s) { this.value = Boolean.parseBoolean(s); } public boolean booleanValue() { return this.value; } public int compareTo(Boolean ob) { if (this.value == ob.value) return 0; //false is less than true return this.value ? 1 : -1; } @Override public boolean equals(Object o) { //instanceof returns false for o==null return (o instanceof Boolean) && (this.value == ((Boolean)o).value); } @Override public int hashCode() { return this.value ? 1231 : 1237; } public static boolean parseBoolean(String s) { if (s.length() != 4) return false; char c0 = s.charAt(0); char c1 = s.charAt(1); char c2 = s.charAt(2); char c3 = s.charAt(3); return (c0 == 't' || c0 == 'T') && (c1 == 'r' || c1 == 'R') && (c2 == 'u' || c2 == 'U') && (c3 == 'e' || c3 == 'E'); } @Override public String toString() { return String.valueOf(this.value); } public static String toString(boolean b) { return String.valueOf(b); } public static Boolean valueOf(boolean b) { return b ? TRUE : FALSE; } public static Boolean valueOf(String s) { return parseBoolean(s) ? TRUE : FALSE; } }