public static final string ab = "ab";
public static final string c = "c";
public static void main(string args)
開始我以為三個都是輸出 true,然而,執行後卻是
false
true
true
第十行所比較的不是同乙個記憶體指向!
找了些資料,原來字串在做「+」操作,
如果是字面量(「abc」這樣,或者static final 修飾的字串)那「+」號兩邊比較的字串都是pool中的字串;
如果「+」兩邊有一邊不是字面量,那比較的字串乙個是pool中的乙個是堆中的,這樣比較記憶體指向的話,顯然是false了
字串,字串字面量和字串變數
1.1.1.0 字串的定義 字串是用雙引號括起來的子覅序列,並以乙個空字元來標識字串的結束。1.1.1.1字串常量 1 字串常量的性質 字串字面量是不可改變的量,它作為字元陣列儲存在記憶體空間中。abcdef 如果一行寫不開可以把第一行以 結尾,第二行頂格寫完。abc def 或者將他們分別用雙引號...
char型指標和字串字面量和字元陣列
1 當乙個char型指標指向乙個字串字面量 也就是常量字串 時,該指標必須由const修飾,否則,系統會給出deprecated 不贊成 的警告。原因是 字串字面量不可改變,當它被乙個非const修飾的指標指向時,存在被指標改變的風險。2 char型指標指向乙個字元陣列時,沒有const限制,因為字...
第七章 字串 字串字面量轉換
本文系閱讀閱讀原章節後總結概括得出。由於需要我進行一定的概括提煉,如有不當之處歡迎讀者斧正。如果你對內容有任何疑問,歡迎共同交流討論。建立字串變數有兩種寫法 string something 和 something 這兩種寫法效果一樣但背後的原理不同。something 是字串字面量,在前面的章節我...