部分引用:https://blog.csdn.net/weixin_42845574/article/details/84983808
Integer a1= Integer.valueOf("1");
int a2= Integer.parseInt("1");
Integer.parseInt()返回值爲基本數據類型,即int
Integer.valueOf()返回值爲包裝類型,即Integer對象
我在這裏記錄一個問題:
同一個項目,一個運行在java1.7,一個運行在java1.8,
當時有一個比較是使用 Integer.valueOf(a1) > Integer.valueOf(a2)【a1爲25,a2爲30】,死活過不了,用idea的“計算表達式”計算的結果爲false,
但是直接在7.4和8.2的NetBeans寫比較又能正常,後來改成parseInt後,就正常了。
所以比較對象最好還是轉成基本類型,可能這個問題是編譯器的問題。對象型的比較最好還是用equal,正常的時候還是轉成基礎數據類型比較好