String:實(shí)踐證明惋增,字符串的操作是計(jì)算機(jī)程序設(shè)計(jì)中最常見(jiàn)的行為沒(méi)有之一
java.lang.String:String類型位于java.lang包之下,繼承自java.lang.Object類册着;
public final class String{}:java中的String類型是一個(gè)final類型碍粥,不允許被開(kāi)發(fā)者繼承修改突硝。
因?yàn)镾tring是final的所以任何一個(gè)String的變量被初始化后就成為了一個(gè)常量设拟,即constant的值雁社。
如果在某些需求下需要頻繁修改String的值我們可以使用StringBuilder 或者StringBuffer來(lái)替代浴井。
來(lái)看看String中常用的一些方法:
構(gòu)造函數(shù)和成員方法;
其中構(gòu)造函數(shù)可以分為三類來(lái)學(xué)習(xí):
1.傳入byte數(shù)組及相關(guān)信息的為一類
2.傳入char數(shù)組及相關(guān)信息的為一類
3.傳入String StringBuffer StringBuilder 為一類
Note: 其中相關(guān)信息包含:字符的編碼格式,eg:UTF-8,數(shù)組的起始位置霉撵。
eg : String str01 = new String("HelloWorld");
StringBuffer buffer = new StringBuffer("helloworld");
String str02 = new String (buffer);
byte[] data = abc.getBytes();
String str03 = new String(data,"UTF-8");
char [] ccc="aaaa".toCharArray();
String Str04 = new String(ccc);
char data[] = {'a', 'b', 'c'};
String str = new String(data);
其中常用的一些成員方法:
charAt(int index) :獲取str的char字符磺浙,從0到str.length()-1;
compareTo(String anotherString) :比較兩個(gè)string相等返回0;
getBytes() :返回字節(jié)數(shù)組
getBytes(Charset charset) :返回給定編碼的字節(jié)數(shù)組
isEmpty() :判斷str是否為空
length() :返回字符串的長(zhǎng)度徒坡,eg:"abcd".length()=4;
matches(String regex) : 判斷該字符串是否與給定的正則表達(dá)式相符撕氧,常用于用戶名的驗(yàn)證。
replace(char oldChar, char newChar) :替換字符崭参。eg: "abcd".replace('a','1') -->1bcd
split(String regex) :將字符串從正則表達(dá)式匹配的地方開(kāi)始切開(kāi)呵曹,返回string數(shù)組。
startsWith(String prefix)
endsWith(String suffix) :這兩個(gè)方法通常一起使用判斷一個(gè)字符串的首尾是否符合我們的需求何暮,常用于通信協(xié)議
substring(int beginIndex, int endIndex) :用于截取str奄喂,注意下表別越界,endIndex<=str.length();
eg: System.out.println("abcdef".substring(1)); // bcdef
System.out.println("abcdef".substring(2, 5));//cde
toCharArray() :返回一個(gè)char型數(shù)組
toUpperCase() :返回大寫str
toLowerCase() : 返回小寫str
toString().trim():轉(zhuǎn)成string類型,并且去掉前后空白
一些靜態(tài)方法:
String.valueOf(int i) :將一個(gè)基本類型轉(zhuǎn)換為String值
String.format() :用指定的格式字符串和參數(shù)返回一個(gè)格式化字符串
參考:String.format()用法說(shuō)明
http://blueram.iteye.com/blog/441683