<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                Boolean為final修飾,不能被繼承,實現了java.io.Serializable接口和Comparable&lt;Boolean&gt;接口,可以序列化和進行比較,Boolean沒有無參構造器 ### 源碼 ``` public final class Boolean implements java.io.Serializable, Comparable<Boolean> { // //因為Boolean就只有兩個值,故直接在jvm啟動時便生成這兩個值并建立引用 public static final Boolean TRUE = new Boolean(true); public static final Boolean FALSE = new Boolean(false); public static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("boolean"); public Boolean(boolean value) { this.value = value; } // Boolean有一個可以傳入字符串的構造器,只當字符串為“true”時,value為true,其余都為false public Boolean(String s) { this(parseBoolean(s)); } public static boolean parseBoolean(String s) { // 只要name不為true,統一返回false return ((s != null) && s.equalsIgnoreCase("true")); } public boolean booleanValue() { return value; } 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"; } public String toString() { return value ? "true" : "false"; } @Override public int hashCode() { // Boolean的哈希值只有固定的兩個值,true為1231,false為1237 return Boolean.hashCode(value); } 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; } 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); } 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; } } ``` ### 總結 * 如果一個類只有有限的幾種狀態,考慮用幾個final的靜態變量來表示不同狀態的實例。例如編寫一個Weekday類,狀態只有7個,就不要讓用戶寫new Weekday(1),直接提供Weekday.MONDAY即可 * 推薦的形式是Boolean.TRUE或Boolean.valueOf(true)或Boolean.valueOf("true"),避免生成不必要的對象 ### 實驗室 ``` Boolean boo = new Boolean(true); System.err.println(boo == Boolean.TRUE); // false ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看