題記:前幾天面試Java基礎給來了個面試題Integer a=100,b=100;System.out.println(a==b); 當時回答是true,后來面試官又來了一個Integer a=200,b=200;System.out.println(a==b); 這個回答的也是true當時面試官 ...
package integerdemo public class IntegerDemo public static void main String args 之間 Integer i Integer i if i i System.out.println i i else System.out.println i i 大於 Integer i Integer i if i i System. ...
2016-07-07 15:17 0 2725 推薦指數:
題記:前幾天面試Java基礎給來了個面試題Integer a=100,b=100;System.out.println(a==b); 當時回答是true,后來面試官又來了一個Integer a=200,b=200;System.out.println(a==b); 這個回答的也是true當時面試官 ...
當某個Integer字段的值是空時,不能用feilds==1等來判斷值是否等於1,會報空指針 此時可以將feilds字段轉成字符串比較,注意不能用toString(),要用String.valueOf(),原因如下 即可 ...
比較Integer的時候,不要用==。 查看Integer的源碼,如下: 通過注釋可以知道,為了更好的空間和時間性能,Integer會緩存頻繁使用的數值,數值范圍為-128到127,在此范圍內直接返回緩存值。 IntegerCache.low 是-128,IntegerCache.high ...
第5和第6行的結果都為true。因為Integer與int比較時,Ingeger都會自動拆箱(jdk1.5以上)。 第12行結果為true,第13行結果為false。因為Java在編譯的時候,Integer i4=127被翻譯成-> Integer i4 ...
一般我們使用數值時,都是使用基本類型,如int、long等,但如果你喜歡使用Integer、Long的包裝類,那有一點可就得注意了。先來看下這段代碼: 執行結果是(jre版本:1.7.0_10): It's CONST_AIt's CONST_BInvalid ...
最近在項目中遇到一個問題,兩個值相同的Integer型值進行==比較時,發現Integer其中的一些奧秘,順便也復習一下==和equals的區別,先通過Damo代碼解釋如下: [java] view plain copy ...
先看一個例子: public static void main(String[] args) { int i1 = 128; Integer i2 = 128; Integer i3 = new Integer(128); System.out.println(i1 == i2 ...