java Long、Integer 、Double、Boolean類型 不能直接比較


測試:

System.out.println(new Long(1000)==new Long(1000));
System.out.println(new Integer(1000)==new Integer(1000));
System.out.println(new Double(1000d)==new Double(1000d));
System.out.println(new Float(1000f)==new Float(1000f));
System.out.println(new Boolean(true)==new Boolean(true));
System.out.println(new Short("400")==new Short("400"));

false
false
false
false
false
false

Long 類型指的是   java.util.Lang 對象,而不是基本類型 long  (注意大小寫)
Java中如果使用 == 雙等於比較對象,等於比較的是兩個對象的內存地址,也就是比較兩個對象是否是同一個對象
如果比較兩個Long對象值是否相等,則不可以使用雙等號進行比較,可以采用如下方式:
1. 使用 equals 方法
Long a = new Long(3);
Long b = new Long(3);
System.out.println(a.equals(b));
2. 使用 Long 類型中的 longValue() 方法進行比較,如

Long a = new Long(3);
Long b = new Long(3);
System.out.println(a.longValue()==b.longValue());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM