int和Integer有什么区别?
可參考:http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html
?
從Java 5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換
Integer和int比都會自動拆箱(jdk1.5以上)。拆箱--->從Integer轉為int;裝箱指的是從int-->Integer
Integer i5 = 127;//java在編譯的時候,被翻譯成-> Integer i5 = Integer.valueOf(127);
?
? ①無論如何,Integer與new Integer不會相等。不會經歷拆箱過程,引用指向堆的和指向常量池的內存地址不同,所以必然為false;
??②兩個都是非new出來的Integer,如果數在-128到127之間,則是true,否則為false
??java在編譯Integer i2 = 128的時候,被翻譯成-> Integer i2 = Integer.valueOf(128);而valueOf()函數會對-128到127之間的數進行緩存
??③兩個都是new出來的,都為false
??④int和integer(無論new否)比,都為true,因為會把Integer自動拆箱為int再去比
轉載于:https://www.cnblogs.com/YLQBL/p/6944933.html
總結
以上是生活随笔為你收集整理的int和Integer有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: OAuth 2.0系列教程(八) 授权码
- 下一篇: Excel 【小型成绩分析系统初稿】(功
