力扣 20. 有效的括號 難度:簡單
阿新 • • 發佈:2021-12-24
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