關於字串

2022-06-11 21:06:15 字數 2260 閱讀 1596

關於string最重要的幾點:

string為引用型別體現於其在棧記憶體和堆記憶體中的結構

堆記憶體中有字串常量池。有幾種new字串的方式:

string str="ass"; //

方式1 string str1=new string("ass"); //

方式2char cha=;

string str2=new string(cha); //

方式3

方式1:在常量池中檢查是否有"ass"字串,如果有直接指向它。沒有的話會在常量池中建立「ass」,然後指向它。

方式2/3:關鍵是這個new關鍵字。還是會檢查常量池,沒有的話仍然會在常量池建立乙份。但還要在堆記憶體中再建立乙個「ass」,然後指向它。

因此:

system.out.println((str == str1)); //

false

system.out.println(str.equals(str1)); //

true

第乙個==返回false,因為這是指物件記憶體位址是否相等

第二個==返回true,因為這是指值的相等

字串雖然不能修改,但是可以寫出+=這種拼接寫法。

string str3="ass";

str3+=" broken";

system.out.println(str3);

//輸出ass broken

這是因為jvm在常量池中又生成了乙份拼接後的"ass broken",然後把str3的指向拼接後的結果

如果要頻繁修改字串,用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());

public

class

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...