-----------siwuxie095
1、string字串
例項化string物件:
(1)直接賦值,如:
string str="hello";
(2)使用關鍵字
new,如:
由圖可知:使用
new的方式在堆記憶體中開闢了兩個空間,
第乙個 "hello",物件 str 沒有指向,無用
等待**,
第二個 "hello",被
str 指向,有用。
所以 直接賦值(只開闢了乙個空間) 的方式更常用和合理,
可以節省一些空間
string的內容比較
**:
packagecom.siwuxie095.string;
public classstringdemo01 }
執行一覽:
顯然,雙等是錯誤的,而使用方法
equals()是正確的
〔因為雙等比較的是記憶體位址,第一種方式直接賦值只產生了乙個位址,
第二種new 的方式卻產生了兩個位址,注定位址是不同的,而 equals()
比較的是內容〕
字串的內容不可更改
如:
**:
packagecom.siwuxie095.string;
public classstringdemo02 }
執行一覽:
"hello"、"world"、"hello world!" 分別開闢了三個空間,
str 指向 "hello" 的連線斷開,繼而指向 "hello world!",
即 "hello" 本身沒有變化,變的只是
str 中對堆記憶體位址
的指向
2、string字串常用方法
string字串的方法較多,可以根據api給出的方法去做測試,下面是常用方法:
(1)字串長度:
length()「陣列中的是 length 屬性」
(2)字串轉換陣列:
tochararray()
(3)從字串中取出指定位置的字元:
charat()
(4)字串與byte陣列的轉換:
getbytes()
(5)過濾字串中存在的字元:
indexof()
(6)去掉字串的前後空格:
trim() 「空格易影響到對字串的判斷,需適時去掉」
(7)從字串中取出子字串:
substring()
(8)大小寫轉換:
tolowercase() touppercase()
(9)判斷字串的開頭結尾字元:startwith() endswith()
(10)替換string字串中的乙個字元:replace()
**:
packagecom.siwuxie095.array;
public classstringdemo03
//(3)
system.out.println("\n"+str.charat(0));
//(4)
bytebytes=str.getbytes();
for(inti = 0; i < bytes.length; i++)
//(5)
若存在,返回當前字元的位置,否則返回
-1system.out.println(str.indexof("x"));
//(6)
str=" siwuxie095";
system.out.println(str.trim());
//... }}
3、stringbuffer
stringbuffer,是string的緩衝區,本身也是操作字串用的,
但與string不同,stringbuffer是可以更改的
〔string是不可更改的,每次看到更改內容,其實都是在開闢新的
記憶體空間,非常耗資源,此時可以使用stringbuffer〕
stringbuffer是乙個操作類,所以必須通過例項化進行操作
**:
packagecom.siwuxie095.string;
public classstringbufferdemo01
public staticvoidtell(stringbuffer s) }
執行一覽:說明stringbuffer是可以更改的
對比:
packagecom.siwuxie095.string;
public classstringbufferdemo02
public staticvoidtell(string s) }
執行一覽:說明string是不可更改的
stringbuffer的常用方法:
**:
packagecom.siwuxie095.string;
public classstringbufferdemo03 }
執行一覽:
stringbuffer類的應用:
為什麼有的時候要用stringbuffer,而不用string:
**:
packagecom.siwuxie095.string;
public classstringbufferdemo04
system.out.println(str);
//使用
stringbuffer
不會耗費資源,且會更快
//所以很多時候使用
stringbuffer
stringbuffer sb=newstringbuffer();
for(inti = 0; i < 100; i++)
system.out.println(sb);}}
4、stringbuilder
乙個可變的字串行,該類被設計作用stringbuffer的乙個簡易替換,
用在字串緩衝區被單個執行緒使用的時候,建議優先考慮該類,速度
比stringbuffer要快
但如果涉及到執行緒安全方面,建議使用stringbuffer
常用方法:
【made by siwuxie095】
Java初階 字串String
一 string字串 1 直接賦值 2 使用關鍵字new 用new關鍵字給string賦值,實際在堆記憶體中開闢兩塊空間各儲存兩個 hello 3 string內容比較 string str hello string str1 new string hello system.out.println ...
String詳解 建立字串
字串常用構造方法 public class 2 string s3 new string bytes 把變數名字放進來,固定寫法 system.out.println s3 abcd string已經重寫了tostring方法 4string s4 new string bytes,1,2 陣列名,...
JAVA字串詳解
一 字串替換 1 replace方法 該方法的作用是替換字串中所有指定的字元,然後生成乙個新的字串。經過該方法呼叫以後,原來的字串不發生改變。例如 string s dudaduda string s1 s.replace a 1 2 replaceall方法 該 的作用是將字串s中所有的字元a替換...