JAVA API 實用類 String詳解

String類

字符串的概念

簡單來說字符串就是由多個字符(char)來組成的一串,我們自然可以用char[] 數組來保存一個字符串.但是在操作字符串時,比方說插入一個字符到字符串中,需要實現後移等操作.為瞭應對這個問題,C++引入string類,類似的Java也有String類.String類位於java.lang中於是不需要import導入包.

Java String的特殊之處

假設我們定義4個字符串,讓他們的內容相同,唯一的不同是是否用new語句。這裡需要註意的一點是為瞭提高運行速度,Java采用瞭“對象池”來存放字符串常量,即開辟一個專門的字符串池來存放字符串,創建一個字符串時,系統將會在字符串池中查找有無相同內容的字符串存在,如果有直接使用該對象。也就是說str1 與str2指向的是同一個字符串。而str3、str4通過new產生 指向的不是一個字符串。更為值得註意的是String內容的不可變性。也就是說每次改變字符串內容都會產生一個新的對象,或者指向字符串池中已經存在的字符串對象.

String str1="一個字符串";
String str2="一個字符串";
String str3=new String("一個字符串");
String str4=new String("一個字符串");
str1="另外一個字符串";//原來的對象"一個字符串"仍然存在,會造成內存消耗

String類的基本方法

字符串創建

1. String()//生成一個空串
 String a=new String();
2. String(String original)//原有字符串直接復制
String a="java",String b= new String(a);
3.String(char[],start,count)//字符串數組賦值 後面兩參數可以省略 分別為開始的位置和長度
char ch[]={'a','b','v','c','d','e'};
String s1=new String(ch);//s1=abvcde;
String s2=new String (ch,2,3)//s2=vcd;

常用方法

//獲取長度
String s="sabsda";
int cnt=s.length();
boolean equals(a,b);//比較兩個字符串內容是否相同,區分大小寫
boolean equalsIgoreeCase()//無視大小寫比較
/*與==的區別是equal隻判斷內容是否相同,而==比較是否指向同一個對象*/
String str1="一個字符串";
String str2="一個字符串";
String str3=new String("一個字符串");
String str4=new String("一個字符串");
equals(str1,str2)==1
(str1==str2)==1
equals(str3,str4)==1
(str3==str4)==0;
int compareTO(a,b);//字典序比較 如果a<b返回負數 a==b返回0 a>b返回正數
int compareTOUgnoreCase();//不區分大小寫
boolean startsWith(string a);//是否以a作為開頭
boolean endsWiith(String a);// 是否以a作為結尾
//字符串的查找
1.int indexOf(char ch)
2.int indexOf(char ch,int position);
//字符串的修改
//需要註意的是,字符串內容具有不可改變性,如果硬性改變會產生新的字符串但是原串不發生改變.所以所有改變字符串的操作都會返回一個新的字符串對象而不是再原串上修改
1.連接 String str="This".concat("a") concat類似於 +;
2 替代 str.replace('a','b')將str中a替換成b
3 去除頭部與尾部空格 str.trim();
4 str.toLowerCase()//小寫
5 str.toUUpperCase()//大寫

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: