1蝌戒、String類
-----String類描述的是文本字符串序列,用于操作和創(chuàng)建字符串碱工。
-----創(chuàng)建String類的對象的兩種方式:? ①""直接賦值法???? ②new關鍵字法
-----字符串對象的比較:?
????? A. String str1= "found"這個語句會先檢查字符串常量池中是否存放有"found"這個字符串對象娃承,如果沒有存在,那么就會在字符串常量池中創(chuàng)建這個字符串對象怕篷,如果存在則直接返回該字符串的內存地址值历筝。
????? B. String str3 = new String("found")該語句會創(chuàng)建兩個對象。首先會檢查字符串常量池中是否存在found這個字符串對象廊谓,如果不存在就會創(chuàng)建梳猪,如果存在就返回內存地址值,創(chuàng)建出來后,new String這個語句就會在堆內存中開辟一個字符串對象春弥∏河矗總共兩個對象。
??? ? C.為什么str1 == str2 →true匿沛,str3 == str4 → false扫责?
①比較兩個String不應該用==,第二種情況str3 == str4使用str3.equals(str4)就是true了逃呼。
②在java里物體的名字相等于一個標簽鳖孤。當你做第一種時,"found"被創(chuàng)造出來,并打上了一個str1的標簽抡笼,然后同一個物體又被打上了str2這個標簽苏揣,但本質上是同一個物體,所以str1 == str2 →true推姻。
③第二種平匈,str4是一個新的Object,存儲位置和str3不一樣藏古,str3和str4指向了不同的對象增炭。所以str3 == str4 → false。
-----獲取字符方法:
int length() 獲取字符串的長度
char charAt(int index) 獲取特定位置的字符 (角標越界)
int indexOf(String str) 獲取特定字符的位置(overload)
int lastIndexOf(int ch) l獲取最后一個字符的位置
-----判斷方法:
-----轉換方法:
-----其他方法:
String replace(char oldChar, char newChar) 替換
String[] split(String regex) 切割
String substring(int beginIndex)
String substring(int beginIndex, int endIndex)截取字串
String toUpperCase() 轉大寫
String toLowerCase() 轉小寫
String trim() 去除空格
-----練習:
① 去除字符串兩邊空格的函數校翔。
補:String自帶的去除兩邊空格函數trim()源代碼
②獲取上傳文件名 "D:\20120512\day12\Demo1.java"弟跑。
③將字符串對象中存儲的字符反序灾前。
④求一個子串在整串中出現的次數
2防症、StringBuffer
-----由于String是不可變的,所以導致String對象泛濫哎甲,在頻繁改變字符串對象的應用中蔫敲,需要使用可變的字符串緩沖區(qū)類。
-----特點:①默認緩沖區(qū)的容量是16炭玫;②線程安全的所有的緩沖區(qū)操作方法都是同步的奈嘿,效率低。
①添加方法
StringBuffer("jack") 在創(chuàng)建對象的時候賦值
append() 在緩沖區(qū)的尾部添加新的文本對象
insert() 在指定的下標位置添加新的文本對象
②查看
toString() 返回這個容器的字符串
indexOf(String str) 返回第一次出現的指定子字符串在該字符串中的索引吞加。
substring(int start) 從開始的位置開始截取字符串
③修改
④刪除
⑤反序
3裙犹、StringBuilder
StringBuilder 是JDK1.5之后提出的,線程不安全衔憨,但是效率要高叶圃。用法與StringBuffer類似。
===StringBuffr與StringBuilder的區(qū)別践图?
???? StringBuffer和StringBuilder類都表示內容可以被修改的字符串掺冠,StringBuilder是線程不安全的,運行效率高码党,如果一個字符串變量是在方法里定義德崭,這種情況下只可能有一個線程訪問它斥黑,不存在不安全的因素,則用StringBuilder眉厨。如果在一個類里面定義成員變量锌奴,并且這個類的實例對象會在多線程環(huán)境下使用,用StringBuffer缺猛。
4缨叫、System
5、Runtime
6荔燎、Date
7耻姥、Math
練習:生成一個校驗碼
(參考自今日頭條小小爆醬)