Integer128==128?false
Integer 與 int 數值比較?
Integer b1 = 100;
Integer b2 = 100;
Integer c1 = 1501;
Integer c2 = 1501;
if(b1==b2) {
System.out.println("相等");//相等
}else {
System.out.println("不相等");
}
if(c1==c2) {
System.out.println("相等");
}else {
System.out.println("不相等");//不相等
}
乍一看結果是相等的,其實不然。
1,Integer 和 Integer 100 相比較是相等?
2,Integer 和 Integer 127以上 相比較是相等?
答案:
相等
不相等
為什麼會這樣子?原因是什麼?我是不是學了假的Java?
通過檢視Integer原始碼發現?
你會發現Integer類內部 通過靜態內部類提供了一個快取池,範圍在-128~127之間,如果超過這個範圍 Integer 值都是new出來的物件,比較的話肯定會出錯!
疑問?為什麼這麼寫Integer原始碼?
Integer快取了-128~127之間的數,這是在類載入期間就完成的。以後需要的時候直接指向它就可以了,省去了構造物件的開支,提高了效率。
只能採用equals 比較!
檢視原始碼Integer equals方法你會發現
所以
或者
同理Long也是一樣
相關文章
- true || false && falseFalse
- JavaScript return falseJavaScriptFalse
- day128
- WPF ClipToBounds True or falseFalse
- Python解惑:True與FalsePythonFalse
- 128sx社群
- AES128-CMACMac
- HarmonyOS面向128KB-128MB記憶體終端開源記憶體
- preventDefault()與return false區別False
- Android之android exported="false"作用AndroidExportFalse
- Ruby中的true和falseFalse
- Code128編碼
- HttpContext.User.Identity.IsAuthenticated 為falseHTTPContextIDEFalse
- False SQL Injection and Advanced Blind SQL InjectionFalseSQL
- 排除anaconda的report false問題False
- laravel Hash::check 始終返回false?LaravelFalse
- The character that plays in MyCareer will be constantly browsing a false TwitterFalse
- 我的收藏週刊128
- Warning: Received `false` for a non-boolean attribute `xxx`.FalseBoolean
- js五種為false的判斷JSFalse
- JavaScript 比較相同的字元返回falseJavaScript字元False
- js判斷true和false一覽JSFalse
- 為什麼byte取值-128~127??
- PostgreSQL DBA(128) - pgAdmin(Load balance with HAProxy)SQL
- __int128:懶人的福音
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- 報錯AttributeError: Attempted to set WANDB to False, but CfgNode is immutableErrorFalse
- if 判斷為 false 的 6 種情況False
- 雜談 什麼是偽共享(false sharing)?False
- LeetCode-128-最長連續序列LeetCode
- 雙核、DSPIC33CH128MP203-I/M5 DSPIC33CH128MP203-H/M5 DSPIC33CH128MP203-E/M5數字訊號控制器 36-Pin 128KB Flash
- 做「容量預估」可沒有true和falseFalse
- CSS 中 stopPropagation, preventDefault 和 return false 的區別CSSFalse
- js中return、return true、return false的區別JSFalse
- 2024Hvv漏洞彙總(128個POC)
- Java中“100=100”為true,而"1000=1000"為false?JavaFalse
- js中bool值為false的幾種情況JSFalse
- angular當router使用userhash:false時路由404問題AngularFalse路由