1. 程式人生 > 其它 >力扣 20. 有效的括號 難度:簡單

力扣 20. 有效的括號 難度:簡單

Java中有基本資料型別(byte,short,char,int,float,double,long,boolean,直接儲存變數)與引用資料型別(string,基本資料型別對應的封裝類等,儲存的是地址值)

基本資料型別 引用資料型別
== 比較變數值是否相同 比較變數地址值是否相同
equls 沒有這種方法 重寫了equals方法的類比較的是物件的內容(也就是實際的值),沒有重寫equals方法的類的意義與==相同

Integer型別有一個特殊情況:

Integer物件的可以有:new Integer(int value);Integer.valueOf(int value);

//通過構造器建立Integer物件時新new了一個物件,但是valueOf函式新建物件時對-128~127的數值已經構造好了物件,就相當於直接取出來用就可以.

這樣做的目的是為了提高JVM效率。JDK要這麼多此一舉呢? 我們仔細想想, 淘寶的商品大多數都是100以內的價格

一天後臺伺服器會new多少個這個的Integer, 用了IntegerCache,就減少了new的時間也就提升了效率。同時JDK還提供cache中high值得可配置,這無疑提高了靈活性,方便對JVM進行優化。

Integer a=new Integer(2);

Integer b=new Integer(2);

Integer c=Integer.valueOf(2);

Integer d=Integer.valueOf(2);

//a==b false

//b==c false

//c==d true

Integer a=new Integer(256);

Integer b=new Integer(256);

Integer c=Integer.valueOf(256);

Integer d=Integer.valueOf(256);

//a==b false

//b==c false

//c==d false