1. 程式人生 > 實用技巧 >Java基礎 String

Java基礎 String

String類

  • 字串是一個特殊的物件。

  • 字串一旦初始化就不可以被改變。

String s="abc";//建立一個字串物件在常量池中

String s1=new String("abc");//建立了兩個物件,一個new字串物件在堆記憶體中。類比new一個物件的記憶體圖

特點:

  1. 字串物件一旦被初始化就不會改變。

  2. 字串常量池沒有就建立;池中有,直接使用。共享

String建構函式

主要幾個String建構函式

String(byte[] bytes){}//位元組型
String(byte[] bytes,int offset,int length){}
String(char[] arr){}//字元陣列
String(char[] arr,int offset,int count){}

常見功能

獲取

1、獲取字串中字元的個數(長度)

int length();

2、根據位置獲取字元

char charAt(int index);

3、根據字元(字串)獲取字串中第一次出現的位置。從前往後查

1. int indexOf(int ch);
2. int indexOf(int ch,int fromIndex); //從指定位置對ch進行查詢
3. int indexOf(String str);
4. int indexOf(String str,int fromIndex);

4、根據字元(字串)獲取字串中第一次出現的位置。從後往前查

1. int lastIndexOf(int ch);
2. int lastIndexOf(int ch,int fromIndex);
3. int lastIndexOf(String str);
4. int lastIndexOf(String str,int fromIndex);

5、獲取字串中一部分字串,子串

String substring(int beginIndex, int endIndex);//左閉右開。(要begin不要end)
String substring(int beginIdex);

轉換

1、將字串轉換成字串陣列(切割)

String[] split(String regex);//涉及到正則表示式

2、將字串轉換成字元(char)陣列

char[] toCharArray();

3、將字串轉換成位元組陣列

byte[] getBytes();

4、將字串中的字母轉換成大小寫

String toUpperCase();//大寫
String toLowerCase();//小寫

5、將字串中的內容進行替換

String replace(char oldChar,char nowChar);
String replace(String s1,String s2);

6、將字串兩端空格去除

String trim();

7、將字串進行連線

String concat(String str);

判斷

1、兩個字串內容是否相同

boolean equals(Object obj);
boolean equalsIgnoreCase(String str); //忽略大小寫比較字串內容

2、字串中是否包含指定字串

boolean contains(String str);

3、字串是否以指定字串開頭,或結尾

boolean startsWith(String str);//開頭
boolean endsWith(String str);//結尾

比較

按字典順序比較兩個字串

int compareTo(String anotherString) 

字串物件的規範化表示

String intern();

事例:

String t=new String("abc");//new一個String物件,在堆記憶體中
t.intern();//將"abc"新增進字串池中