亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

IntegerExt 常量池理解, 參考源碼編寫

標簽:
Java
public class IntegerExt {
    private int i;
    private IntegerExt(int i) {
        this.i = i;
    }
    public int toIntValue() {
        return i;
    }
    public static void main(String[] args) {
        IntegerExt i1 = IntegerExt.getInstance(1);
        IntegerExt i2 = IntegerExt.getInstance(1);
        IntegerExt i3 = IntegerExt.getInstance(1111);
        IntegerExt i4 = IntegerExt.getInstance(1111);
        System.out.println(i1 == i2);
        System.out.println(i1.equals(i2));
        System.out.println(i3 == i4);
        System.out.println(i3.equals(i4));
    }
    public static IntegerExt getInstance(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high) {
            return IntegerCache.cache[i];
        }
        return new IntegerExt(i);
    }
    @Override
    public boolean equals(Object obj) {
        if (obj instanceof IntegerExt) {
            return i == ((IntegerExt) obj).toIntValue();
        }
        return false;
    }
    private static class IntegerCache {
        static final int low = -128;
        static final int high = 127;
        static final IntegerExt[] cache;
        static {
            cache = new IntegerExt[(high - low) + 1];
            int j = low;
            for (int k = 0; k < cache.length; k++)
                cache[k] = new IntegerExt(j++);
        }
    }
}
點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
56
獲贊與收藏
363

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消