JAVA API 實用類 String詳解
String類
字符串的概念
簡單來說字符串就是由多個字符(char)來組成的一串,我們自然可以用char[] 數(shù)組來保存一個字符串.但是在操作字符串時,比方說插入一個字符到字符串中,需要實現(xiàn)后移等操作.為了應(yīng)對這個問題,C++引入string類,類似的Java也有String類.String類位于java.lang中于是不需要import導(dǎo)入包.
Java String的特殊之處
假設(shè)我們定義4個字符串,讓他們的內(nèi)容相同,唯一的不同是是否用new語句。這里需要注意的一點是為了提高運行速度,Java采用了“對象池”來存放字符串常量,即開辟一個專門的字符串池來存放字符串,創(chuàng)建一個字符串時,系統(tǒng)將會在字符串池中查找有無相同內(nèi)容的字符串存在,如果有直接使用該對象。也就是說str1 與str2指向的是同一個字符串。而str3、str4通過new產(chǎn)生 指向的不是一個字符串。更為值得注意的是String內(nèi)容的不可變性。也就是說每次改變字符串內(nèi)容都會產(chǎn)生一個新的對象,或者指向字符串池中已經(jīng)存在的字符串對象.
String str1="一個字符串";
String str2="一個字符串";
String str3=new String("一個字符串");
String str4=new String("一個字符串");
str1="另外一個字符串";//原來的對象"一個字符串"仍然存在,會造成內(nèi)存消耗
String類的基本方法
字符串創(chuàng)建
1. String()//生成一個空串
String a=new String();
2. String(String original)//原有字符串直接復(fù)制
String a="java",String b= new String(a);
3.String(char[],start,count)//字符串?dāng)?shù)組賦值 后面兩參數(shù)可以省略 分別為開始的位置和長度
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);//比較兩個字符串內(nèi)容是否相同,區(qū)分大小寫
boolean equalsIgoreeCase()//無視大小寫比較
/*與==的區(qū)別是equal只判斷內(nèi)容是否相同,而==比較是否指向同一個對象*/
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返回負(fù)數(shù) a==b返回0 a>b返回正數(shù)
int compareTOUgnoreCase();//不區(qū)分大小寫
boolean startsWith(string a);//是否以a作為開頭
boolean endsWiith(String a);// 是否以a作為結(jié)尾
//字符串的查找
1.int indexOf(char ch)
2.int indexOf(char ch,int position);
//字符串的修改
//需要注意的是,字符串內(nèi)容具有不可改變性,如果硬性改變會產(chǎn)生新的字符串但是原串不發(fā)生改變.所以所有改變字符串的操作都會返回一個新的字符串對象而不是再原串上修改
1.連接 String str="This".concat("a") concat類似于 +;
2 替代 str.replace('a','b')將str中a替換成b
3 去除頭部與尾部空格 str.trim();
4 str.toLowerCase()//小寫
5 str.toUUpperCase()//大寫
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot如何解析應(yīng)用參數(shù)args
文章主要介紹了SpringBoot啟動過程中如何解析`main`函數(shù)中的參數(shù)`args`,包括如何解析命令行參數(shù)、訪問選項參數(shù)和非選項參數(shù),接著,介紹了`ApplicationArguments`接口及其方法,感興趣的朋友跟隨小編一起看看吧2024-11-11
Java中List Set和Map之間的區(qū)別_動力節(jié)點Java學(xué)院整理
Java集合的主要分為三種類型set集,list列表,map映射,接下來通過本文給大家詳細(xì)介紹java中l(wèi)ist、Set和Map之間的區(qū)別,需要的的朋友參考下吧2017-05-05
Java Lambda表達(dá)式和函數(shù)式接口實例分析
這篇文章主要介紹了Java Lambda表達(dá)式和函數(shù)式接口,結(jié)合實例形式分析了Java8 Lambda表達(dá)式和函數(shù)式接口相關(guān)原理、用法及操作注意事項,需要的朋友可以參考下2019-09-09

