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
- null >=0 ? true:falseNullFalse
- WPF ClipToBounds True or falseFalse
- 內部Fragment設定為public static和checkReleaseBuilds false與abortOnError falseFragmentUIFalseError
- JavaScript return false的作用JavaScriptFalse
- AES128-CMACMac
- HarmonyOS面向128KB-128MB記憶體終端開源記憶體
- Python解惑:True與FalsePythonFalse
- Ruby中的true和falseFalse
- preventDefault()與return false區別False
- return false影響事件冒泡False事件
- Code128編碼
- C++程式設計師看過來,false < false的設定恰當嗎?C++程式設計師False
- laravel Hash::check 始終返回false?LaravelFalse
- jQuey return false作用是什麼False
- "$err" : "not master and slaveok=false", "code" : 13435ASTFalse
- Spring Autowired(required = false) 說明SpringUIFalse
- .NET AES加解密(128位)解密
- Shared Server Architecture (128)Server
- 我的收藏週刊128
- JavaScript 比較相同的字元返回falseJavaScript字元False
- js五種為false的判斷JSFalse
- js判斷true和false一覽JSFalse
- Android之android exported="false"作用AndroidExportFalse
- ajax的true非同步或者false同步非同步False
- php true false isset empty is_null array()PHPFalseNull
- 慎用ASP.Net的validateRequest="false"ASP.NETFalse
- EnableViewState="false"的DataGrid分頁 (轉)ViewFalse
- Android中文API(128) —— HandlerThreadAndroidAPIthread
- if 判斷為 false 的 6 種情況False
- False SQL Injection and Advanced Blind SQL InjectionFalseSQL
- JavaScript中0, "", null, false, undefined的區別JavaScriptNullFalseUndefined
- The character that plays in MyCareer will be constantly browsing a false TwitterFalse
- 在Hibernate中使用Lazy="false" 的困惑False
- HttpContext.User.Identity.IsAuthenticated 為falseHTTPContextIDEFalse
- 排除anaconda的report false問題False
- 雜談 什麼是偽共享(false sharing)?False