摘要:JAVA String
JAVA String
一旦被初始化就不可以改變
String a1 = “abc”; //一個物件
String a2 = new String(“abc”); //二個物件
String a3 = “abc”;
Systme.out.println(a1 == a2); //false 比較位址
Systme.out.println(a1 .equals(a2)); //true 比較內容值
Systme.out.println(a1 == a3); //true 在池中指向同一個物件
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2); à false 比較的是物件位址(reference)
System.out.println(n1.equals(n2)); à true 比較的是內容值
String方法:
int length() 返回此字元串的長度(陣列不加”()”)
char charAt(int index) 返回指定索引處的 char 值
boolean endsWith(String suffix) 測試此字元串是否以指定的後綴結束
int indexOf(int ch) 返回指定字元在此字串中第一次出現處的索引
int indexOf(int ch, int fromIndex) 返回在此字串中第一次出現指定字元處的索引,從指定的索引開始搜尋
int indexOf(String str) 返回指定子字串在此字元串中第一次出現處的索引。
int indexOf(String str, int fromIndex) 返回指定子字串在此字串中第一次出現處的索引,從指定的索引開始
int lastIndexOf(String str) 返回指定子字元串在此字元串中最右邊出現處的索引
判斷類方法
boolean contains(CharSequence s) 當且僅當此字串包含指定的 char 值序列時,返回 true
//indexOf(str) 可以索引str第一次出現位置,如果返回-1,表示該str不在字串中存在
boolean startWith(String str) 測試此字串是否以指定的前綴開始
boolean endWith(String str) 測試此字串是否以指定的後綴結束
boolean isEmpty() 當長度為0時,返回true
boolean equals(str) 判斷字串是否相同,覆寫了object類中的equals方法
boolean equalsIgnoreCase() 判斷內容是否相同,並忽略大小寫
String類部分方法
char[] toCharArray();
String[] split(String reg);
String substring(int index);
String(char[] arr);
StringBuffer
字串的組成原理就是通過該類實現的。
StringBuffer可以對字串內容進行增刪。
StingBuffer是可變長度的。
特有方法
StringBuffer append(int x);
StringBuffer delete(int start, int end );
StringBuffer insert(int index,String str);
StringBuffer reverse();
JDK1.5出現一個StringBuilder,區別是 StringBuffer是同步的,StringBuilder是非同步 的。
轉換類方法
將字元陣列轉為字串
建構子:
String(char[])
String(char[], offset, count) 將字元陣列中的一部份轉成字串
靜態方法
static String copyValueOf(char[] data) 返回指定陣列中表示該字元序列的 String
static String copyValueOf(char[] data, int offset, int count)
static String valueOf(char[])
字串轉換
getBytes() 將字串轉為byte陣列
char[] toCharArray() 將字串轉為字元陣列
String(byte[]) 將位元組陣列轉字串
String(byte[], offset, count) 將部分位元組陣列轉陣列
String(char[]) 將字元陣列轉字串
String(char[], offset, count) 將部分字元陣列轉字串
class Main{
public static void main(String[] args) throws Exception{
String a = "abc";
char[] x = a.toCharArray();
sop(x[0]);sop(x[1]);sop(x[2]);
//a //b //c
byte[] y = a.getBytes();
sop(y[0]);sop(y[1]);sop(y[2]);
//97 //98 //99
String x1 = new String(x);sop(x1);//abc
String y1 = new String(y);sop(y1);//abc
}
public static void sop(Object obj){
System.out.println(obj);
}
}
將基本數據轉成字串
static String valueOf(int)
static String valueOf(double)
替換類方法
String replace(oldchar, newchar)
String replace(CharSequence target, CharSequence replacement)
切割類方法
String[] split(regex)
ex:
String s = “abcd,efgh,ijk,lmn”;
String[] arr = s.split(“,”); //arr[0] = abcd, a[1] = efgh, a[2] = ijk, a[3] = lmn
子串類方法: 提取一部分字串
String subString(int beginIndex) 若位置不存在,會顯示索引異常
String subString(int beginIndex, int end)
轉換
String toUpperCase() 轉大寫
String tolowerCase() 轉小寫
去除空格
String trim() 頭尾空格去掉, 中間不去
比較
int compareTo(String str) 相等傳回0, 大於傳回 >0數字, 小於傳回 <0數字