国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Integer,int 數(shù)字進(jìn)行比較

2019-11-11 06:03:40
字體:
供稿:網(wǎng)友

背景:兩個Integer的數(shù)字進(jìn)行比較,有時返回為true,而有時返回為false。比如以下情況:

     1.  String s = new String("127");           flag= Integer.valueOf(s.trim()) == Integer.parseInt("127");           System.out.PRintln("==============="+flag);                   //true

      2.   int a =600;           intb = Integer.valueOf("600");           flag= a==b;           System.out.println("==============="+flag);                  //true                 3.   Integer a2= Integer.valueOf("800");           Integerb2 = Integer.valueOf((new String("800  ")).trim());           flag= a2 == b2;           System.out.println("==============="+flag);                 //false

     4.  Integer  c = 127;                Integer  d = 127;           System.err.println(c== d);                                  //true

         5.   c = 128;           d = 128;          System.err.println(c== d);                                   //false

要說明這個問題,首先應(yīng)該搞明白Integer和int的關(guān)系,int是基本數(shù)據(jù)類型,是原生的,Integer是引用類型,相當(dāng)于整型對象,所以在相互賦值和比較的時候就會有變化。

1.Integer  a  =  127;  

     底層自動調(diào)用valueOf(int  i)方法,將127進(jìn)行裝箱,并將引用賦給a

 

     值得注意的是,當(dāng)數(shù)值超過127時,JVM會開辟新內(nèi)存存儲。經(jīng)valueOf方法存儲數(shù)值大小范圍在-128 ~127,超過此范圍的數(shù)值都會開辟新內(nèi)存。

2.Integer a = Integer.valueOf((new String("128 ")).trim());

     在java.lang.Integer類中,重載valueOf方法,最終調(diào)用valueOf(int i)方法,所以存儲規(guī)則與裝箱相同。

3.int  a = Integer.valueOf((new String("128"));

           將Integer轉(zhuǎn)換為int,底層調(diào)用intValue()方法,將引用所指內(nèi)存中的數(shù)值賦值給變量。

   

4.Integer數(shù)值之間的比較

   直接將兩個引用的值進(jìn)行比較即可,所以若兩個值超過127,則兩個引用肯定不同。

5.int數(shù)值之間的比較

     將兩個數(shù)值直接進(jìn)行比較,int類型的數(shù)值大小范圍為-2147483648~2147483647

6.Integer和int類型之間的比較

     將Integer拆箱成int類型,將內(nèi)存中的數(shù)值進(jìn)行比較


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 伽师县| 陆丰市| 北辰区| 西和县| 泸定县| 舟曲县| 镇安县| 澄城县| 北宁市| 武威市| 恩平市| 泊头市| 曲沃县| 潍坊市| 海安县| 亳州市| 乐昌市| 布拖县| 吉安市| 宿迁市| 西乌珠穆沁旗| 青浦区| 麻城市| 来凤县| 松原市| 柏乡县| 乌鲁木齐市| 信宜市| 玉树县| 渑池县| 个旧市| 准格尔旗| 壤塘县| 双江| 乾安县| 裕民县| 开阳县| 招远市| 鸡泽县| 乳山市| 新源县|