背景和問題

  在看別人整理的資料時,看到如下一段代碼:

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

package com.sitech.test;/**
 * 自動裝箱和拆箱 jdk1.6
 * @author liaowp
 * */public class TestInteger {    public static void main(String[] args) {
        Integer i1 = 80, i2 = 80, i3 = 999, i4 = 999;
        System.out.println(i1 == i2);//true
        System.out.println(i3 == i4);//false    }
}

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

  如果沒有看過源碼的同學(xué)肯定覺的答案要么是2個true要么是2個false。我剛看到這一段代碼的時候也覺的是2個true,感覺自己100%確定,不過真正運(yùn)行之后才發(fā)現(xiàn)傻眼了,一個true一個false,這是Bug吧。其實(shí)LZ以前看過一部分Integer源碼了,但是現(xiàn)在想想好像看的不認(rèn)真,尷尬了。于是被這個問題觸發(fā)了LZ要認(rèn)真看一次Integer源碼了(我要認(rèn)真了,哈哈)。

網(wǎng)友評論