1. 程式人生 > 其它 >String學習總結

String學習總結

String學習總結

  • 什麼是String?

String類即字串型別,並不是java的基本資料型別,但可以像基本資料型別一樣使用

看下列程式碼,它們的值在建立後不能被更改;

public final class String
   implements java.io.Serializable, Comparable<String>, CharSequence {
   /** The value is used for character storage. */
   private final char value[];
}

因此String物件是不可變的

  • String型別怎麼使用

在Java中用String類的構造方法來建立字串變數,常用的構造方法如下:

  1. String()

一個String物件,可表示一個空字元序列

String s = new String();
  1. String(char a[])

用一個字元陣列a建立String物件

char a[] = {'g','o','o','d'};
String s = new String(a);
//等價於
String s = new String("good");
  1. String(char a[],int offset,int length)

提取字元陣列a中的一部分建立一個字串物件

char a[] = {'s','t','u','d','e','n','t'};
String s = new String(a,2,4);
//等價於
String s = new String("uden");
  • String可以做些什麼

使用String類的length()方法可獲取宣告的字串物件的長度。

lastIndexOf()方法返回的是搜尋的字元最後出現位置的索引。

使用String類的charAt()方法可獲取指定索引處的字元,返回字元的索引。

還有其他方法可以檢視java的API文件

注意

  • ”==“和equal()方法比較

比較運算子”==“比較的是記憶體位置,不適宜拿來比較字串

equal()方法比較的兩個字串內容必須完全一樣

  • StringBuilder和StringBuffer比較

StringBuilder和StringBuffer執行速度都比String要快,在單個執行緒中StringBuilder要比StringBuffer快,但是在多執行緒中StringBuilder是不安全的,這時就要使用StringBuffer類來實現。