String a = "abc" 與String b = new String("abc")的區別
假如我們,
String a = “abc”; “abc”存在字串常量池中
String b = “abc”;
if(a == b){} //這裡 == 判斷的是a b 是否指向”abc”這個字元記憶體池,在堆區裡面的一塊相同地址!
——-假如我們這樣做——-
String a = “abc”;
String b = “ab” + “c”;
if(a == b){} //這裡也是相等的,因為只有b賦值一刻被賦給那塊記憶體,假如存在!
那麼我們這樣呢?
String a = “abc”;
String b = “ab”;
b = b+”c”;
if(a == b){} //這裡就不相等了!!!
=======================new=======================
String a = new String(“abc”); 存在堆區
new的話就不可能進入sting pool了,先在棧區建立一個a指標,在堆區建立一塊新的記憶體區指向它。
用 == 判斷就不可能相等了!!因為不是在string pool裡面是否有相同的一塊地址!
String a = new Stirng(“abc”);
String b = new Stirng(“abc”);
if(a == b){} //這裡就不可能相等了!!!因為new了兩塊地址嘛~~~~~~~
但可以用a.equals(b)判斷是否相等,並且區分大小寫。
相關文章
- String s=new String("abc")建立了幾個物件?物件
- 轉:經典String str = new String("abc")記憶體分配問題記憶體
- String s = “hello“和String s = new String(“hello“)的區別
- 【Java面試】new String("abc")到底建立了幾個物件?Java面試物件
- 面試題系列:new String("abc")建立了幾個物件面試題物件
- 【JDK】分析 String str=““ 與 new String()JDK
- String str=null; 和String str=""的區別Null
- C#中String和string區別C#
- Go 中 type var string 和 type var = string 的區別Go
- String.valueOf和強制型別轉換(String)的區別型別
- String s = new String(" a ") 到底產生幾個物件?物件
- 【JAVA】Java中 File f=new File(String parent ,String child)Java
- java.lang.String 與stringJava
- Java之String的equals與contentEquals區別Java
- 關於String與StringBuffer的區別
- JAVA中String與StringBuffer的區別Java
- rust 中 str 與 String; &str &StringRust
- String,StringBuffer與StringBuilder的區別UI
- String、StringBuffer、與StringBuilder的區別UI
- String,StringBuffer與StringBuilder的區別??UI
- StringBuilder和String 的區別?UI
- String中三種加法的區別
- StringBuilder和String的區別UI
- String和StringBuilder的區別UI
- String 型別型別
- JAVA面試題 String s = new String("xyz");產生了幾個物件?Java面試題物件
- String,String Builder,String Buffer-原始碼UI原始碼
- 在xpath中text()和string(.)的區別
- Rust中 String、str、&str、char 的區別Rust
- String:字串型別字串型別
- B. Nezzar and Binary String
- Failed to execute user defined function(anonfun$concatStr$1: (map<string,string>, string) => string)AIFunction
- 日期型別與String型別的轉換型別
- System.load(String filename)和System.loadLibrary(String libname)的區別
- String物件的equals()與 = =物件
- string的find()與npos
- String,StringBuilder,StringBuffer的區別UI
- String、StringBuilder、StringBuffer的區別UI