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

