記錄乙個曾面試遇到的題目,看似簡單,實則有坑。
題目:
public static void main(string args)
寫下輸出結果:
true
false
以上是正確答案,親測。
why?因為本姑娘答了兩個
true,然後......(不說了,都是淚)
我們在給
integer
型別變數賦值時,
integer
類會呼叫下面這個
valueof
方法。
what?
再看看low
和high
的值:
(畫的有點醜,手抖)
結論:
1.如果沒有通過屬性配置high的值,這預設為127。low的值為-128。
2. integer
型別的值在[-128,127] 區間,用 「==」則為true。
其他值都是通過new integer(i)返回的,重新開闢了記憶體新建了物件,不同物件之間必然為false。
3.integer
物件判斷是否相等可使用
equals
或.intvalue()
方法,intvalue()
方法返回
int型別,
int為基本型別,判斷是否相等就是可使用
==經驗就是遇到足夠多的坑然後填掉
…
Integer值判斷是否相等問題
今天發現了乙個奇怪的問題 integer allrightstotal 140 integer allrightslasttotal 140 if allrightstotal allrightsinit 最後得出的結論是 對於integer值比較有範圍規定 integer 型別的值在 128,12...
Integer值判斷是否相等問題
昨天在開發中遇到乙個問題,定義了兩個integer變數,暫且定義為integer a integer b 這兩個值由前端賦值並傳到後台,前台傳的是a 12345,b 12345,但我在後台比較的時候 if a b 卻返回false,好無語啊,不都是123嗎?為什麼返回false,後來改為equals...
Integer值判斷是否相等問題
在開發中遇到乙個問題,定義了兩個integer變數,暫且定義為integer a integer b 這兩個值由前端賦值並傳到後台,前台傳的是a 12345,b 12345,但我在後台比較的時候 if a b 卻返回false,後來改為equals 返回true。總結如下 我們知道integer是i...