關於string最重要的幾點:
string為引用型別體現於其在棧記憶體和堆記憶體中的結構
堆記憶體中有字串常量池。有幾種new字串的方式:
string str="ass"; //方式1:在常量池中檢查是否有"ass"字串,如果有直接指向它。沒有的話會在常量池中建立「ass」,然後指向它。方式1 string str1=new string("ass"); //
方式2char cha=;
string str2=new string(cha); //
方式3
方式2/3:關鍵是這個new關鍵字。還是會檢查常量池,沒有的話仍然會在常量池建立乙份。但還要在堆記憶體中再建立乙個「ass」,然後指向它。
因此:
system.out.println((str == str1)); //第乙個==返回false,因為這是指物件記憶體位址是否相等false
system.out.println(str.equals(str1)); //
true
第二個==返回true,因為這是指值的相等
字串雖然不能修改,但是可以寫出+=這種拼接寫法。
string str3="ass";這是因為jvm在常量池中又生成了乙份拼接後的"ass broken",然後把str3的指向拼接後的結果str3+=" broken";
system.out.println(str3);
//輸出ass broken
如果要頻繁修改字串,用sting類則會頻繁的建立物件,因此,這時可以使用stringbuilder和stingbuffer。
stringbuffer是執行緒安全的,stringbuilder不是執行緒安全的(多個執行緒同時操作的時候可能會出錯),但也效率更高。
string和stringbuilder可以互相轉換
一些常用用法::
string str = "123";int num = 12;
//字串轉換為數字
int trantonum =integer.parseint(str);
//數字串轉化為字串
string trantostr = string.valueof(num);
string mystring = "hello123"; //建立乙個字串變數mystring
char mychararray; //
建立乙個字元陣列mychararray
mychararray = mystring.tochararray(); //
將字串變數轉換為字元陣列
char str = ; //
建立乙個字元陣列
string string1 = new string(str);//
new乙個
string string2 = string.valueof(str);//
或者使用靜態方法
string s = "www.runoob.com";char result = s.charat(6);
system.out.println(result);
string str1 = new string("www.runoob.com");string str2 = new string("runoob");
system.out.print("字串 str1 長度 :");
system.out.println(str1.length());
system.out.print("字串 str2 長度 :");
system.out.println(str2.length());
publicclass
test
}
string str = new string("welcome-to-runoob");system.out.println("- 分隔符返回值 :" );//
返回字串陣列
for (string retval: str.split("-"))
關於字串
一些基本概念 用字元陣列儲存這麼乙個字串 char str hello world 然後我們應該知道,1.陣列的大小是12 字串字元個數 1 最後乙個元素為 0 用於標記字串的結束。0 不是數字0,它是非列印字元,其ascii碼值為0 2.若使用如下定義 char str 100 hello wor...
關於MYSQL字串
字串是多個字元組成的乙個字串行,由單引號 或雙引號 字元包圍。但在 ansi 模式中執行時只能用單引號 例如 a string another string 在乙個字串中,如果某個序列具有特殊的含義,每個序列以反斜線符號 開頭,稱為轉義字元。mysql 識別下列轉義字元 0 乙個 ascii 0 n...
關於字串駐留
首先看幾個例子 示例1 static void main 示例2 static void main 示例3 public const string s1 abc static void main 示例4 public static string s1 abc static void main 示例1...