【java】String類和StringBuffer類常用操作


String類是字符串常量,是不可更改的常量。而StringBuffer是字符串變量,它的對象是可以擴充和修改的。StringBuffer在進行字符串處理時,不生成新的對象,在內存使用上要優於String類。所以在實際使用時,如果經常需要對一個字符串進行修改,例如插入、刪除等操作,使用StringBuffer要更加適合一些。

 

String類主要方法的使用
一、創建並初始化字符串

String s = "hello!";         //使用字符串常量直接初始化 
String();                    //使用構造方法創建並初始化,初始化一個對象,表示空字符序列 
String(value);               //利用已存在的字符串常量創建一個新的對象
String (char[] value);       //利用一個字符數組創建一個字符串
String(char[] value,int offset,int count);//截取字符數組offset到count的字符創建一個非空串
String(StringBuffer buffer); //利用StringBuffer對象初始化String對象

二、String類主要方法的使用:

1、獲取長度 

*.length();         //這與數組中的獲取長度不同,*.length;

2、比較字符串

(1)equals()           //判斷內容是否相同
(2)compareTo()        //判斷字符串的大小關系
(3)compareToIgnoreCase(String int) //在比較時忽略字母大小寫
(4)==                 //判斷內容與地址是否相同
(5)equalsIgnoreCase() //忽略大小寫的情況下判斷內容是否相同
 //如果想對字符串中的部分內容是否相同進行比較,可以用
(6)reagionMatches()   //有兩種 public boolean regionMatches(int toffset, String other,int ooffset,int len);表示如果String對象的一個子字符串與參數other的一個子字符串是相同的字符序列,則為true.要比較的String 對象的字符串從索引toffset開始,other的字符串從索引ooffset開始,長度為len。

public boolean reagionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);//用布爾類型的參數指明兩個字符串的比較是否對大小寫敏感。

 

三、查找字符串中某個位置的字符

public char charAt(int index);       //返回指定索引index位置上的字符,索引范圍從0開始

 

四、查找指定字符串在字符串中第一次或最后一詞出現的位置  
在String類中提供了兩種查找指定位置的字符串第一次出現的位置的方法

(1)public int indexOf(String str);               //從字符串開始檢索str,並返回第一次出現的位置,未出現返回-1
(2)public int indexOf(String str,int fromIndex); //從字符串的第fromIndex個字符開始檢索str

查找最后一次出現的位置有兩種方法

(1)public int lastIndexOf(String str);
(2)public int lastIndexOf(String str,int fromIndex);

如果不關心字符串的確切位置則可使用 

public boolean contains(CharSequence s);

 

五、檢查字符串的起始字符和結束字符

開始的字符串兩種方法

(1)public boolean starWith(String prefix,int toffset);//如果參數prefix表示的字符串序列是該對象從索引toffset處開始的子字符串,則返回true
(2)public boolean starWith(String prefix);

結束的字符串方法

public boolean endsWith(String suffix);

 

六、截取子串

(1)public String subString(int beginIndex);
(2)public String subString(int beginIndex, int endIndex);//返回的字符串是從beginIndex開始到endIndex-1的串

要返回后4位可以這樣寫

Syetem.out.println(*.subString()(*.length()-4));

 

七、字符串的替換

兩種方法

(1)public String replace(char oldChar,char newChar);
(2)public String replace(CharSequence target,CharSequence replacement);//把原來的etarget子序列替換為replacement序列,返回新串
(3)public String replaceAll(String regex,String replacement);          //用正則表達式實現對字符串的匹配

 

八、字符串的大小寫替轉換

(1)public String toLowerCase(Locale locale);
(2)public String toLowerCase();
(3)public String toupperCase(Locale locale);
(4)public String toUpperCase();

 

九、去除字符串首尾空格

*.trim();

 

十、字符串轉換

1、將字符串轉換成字符數組

public char[] toCharArray();

2、將字符串轉換成字符串數組

public String[] split(String regex);//regex 是給定的匹配

3、將其它數據類型轉化為字符串

(1)public static String valueOf(boolean b);
(2)public static String valueOf(char c);
(3)public static String valueOf(int i);
(4)public static String valueOf(long i);
(5)public static String valueOf(float f);
(6)public static String valueOf(double d);
(7)public static String valueOf(char[] data);
(8)public static String valueOf(Object obj);

 

StringBuffer類主要方法的使用

一、可變字符串的創建和初始化

兩種方法:

public StringBuffer();
public StringBuffer(int caoacity);

二、獲取可變字符串長度

public int length();
public int capacity();
public void setLength(int newLength);

三、比較可變字符串

用String 類的equals()方法比較,但是不同。
類Object中的equals()方法比較的是兩個對象的地址是否相等,而不僅僅是比較內容,但是

  • String類在繼承Object類的時候重寫了equals()方法,只是比較兩個對象的內容是否相等
  • StringBuffer類中沒有重寫Object類的equals()方法,所以比較的是地址和內容。

四、追加和插入字符串

public StringBuffer append(type t);//追加
public StringBuffer insert(int offset,type t);//插入,在offset處加入類型為type的字符串

五、反轉和刪除字符串

 public StringBuffer reverse(); //反轉
 public StringBuffer delete(int start,int end); //刪除

六、減少用於可變字符序列的存儲空間

public void trimToSize();

七、StringBuffer類轉換成String類

public String toString();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM