在開發過程中老犯一些低級錯誤,基礎還得好好加強啊......
今天遇到這樣一個問題,我用 "=="來比較兩個Long類型的數據,明明數值都相等,可是結果就是false,后來仔細想想,Long在java中是一個引用類型,而long類型是java中的一個基本數據類型,用來表示數值。如果用'=='去比較Long類型數據的話,比較的是它的引用地址,此時即使數值相等,而地址不相同,返回的結果永遠是false;而比較long類型是是可以用‘==’比較的,此時比較的是值
Long類型數據比較:
1.Long對象的.equals()方法:
Long l1 = new Long(10); Long l2 = new Long(10); System.out.println(l1.equals(l2));
2.Long對象的longValue()方法
Long l1 = new Long(10); Long l2 = new Long(10); System.out.println(l1.longValue() == l2.longValue);
long類型數據的大小比較:
可以直接用 '>' '=' '<'比較
long l1 = 10; long l2 = 15; System.out.println(l1 == l2); System.out.println(l1 > l2)