java中String类是什么_Java中的String类
/*
String類用于描述字符串事物的
那么它就提供了多個方法對字符串進(jìn)行操作
方法都會用,字符串這塊就結(jié)束了
常見的操作有哪些?
“abcd”
它應(yīng)該具備什么功能,我們才能更好得操作它?
1.獲取(必須要掌握)
1.1 字符串中包含的字符數(shù),也就是字符串的長度
int length()? 然而數(shù)組也有長度,數(shù)組調(diào)用的length沒有括號,是屬于屬性,但是字符串是方法
1.2 根據(jù)位置獲取位置上的某個字符
char charAt(int index)
1.3 根據(jù)字符獲取該字符在字符串中的位置
int indexof(int ch)? 返回字符ch在字符串中第一次出現(xiàn)的位置
int indexpf(int ch,int fromIndex) 從fromIndex指定位置開始,獲取ch在字符串中出現(xiàn)的位置
int indexof(String str)????? 返回的是str在字符串中第一次出現(xiàn)的位置
nt indexpf(String str,int fromIndex)?? 從fromIndex指定的位置開始,獲取str在字符串中出現(xiàn)的位置
反向索引----方法加多一個last就可以
2.判斷
2.1 字符串中是否包含某一個子串
boolean contains(str);
int indexof(int ch)? 返回字符ch在字符串中第一次出現(xiàn)的位置???? 有異曲同工之妙
2.2 字符串中是否有內(nèi)容
boolean isEmpty();????? 原理就是判斷長度是否為0
2.3 字符串是否是以指定內(nèi)容開頭
boolean startWith(str)
2.4 字符串是否是以指定內(nèi)容結(jié)尾?? 判斷開頭,判斷結(jié)尾是bool類型的
boolean endWith(str)
2.5 判斷字符串的內(nèi)容是否相同?? 復(fù)寫了父類中的object方法
boolean equals(str);
2.6判斷內(nèi)容是否相同,并忽略大小寫
boolean equalsIgnoreCsae();
3.轉(zhuǎn)換
3.1 將字符數(shù)組轉(zhuǎn)成字符串
構(gòu)造函數(shù)? String(chae[])
String(char[],int count)? 將字符數(shù)組的一部分轉(zhuǎn)成字符串
靜態(tài)方法? static String copyValue(char[]);
static String copyValue(char[],int count);
static String valueof(char[]);
3.2 將字符串轉(zhuǎn)成字符數(shù)組
char[] toCharArray();
3.3 將字節(jié)數(shù)組轉(zhuǎn)成字符串
String(byte[])
String(byte[],int count)
反? byte[] getBytes();
3.4 將字符串轉(zhuǎn)成字節(jié)數(shù)組
3.5 將基本數(shù)據(jù)類型轉(zhuǎn)成字符串
static String valueof(int);
static String valueof(double);
特殊:
字符串和字節(jié)數(shù)組在轉(zhuǎn)換的過程中,是可以指定編碼表的
4.替換
String replace(oldchar,newchar);??????????? 更換的可以是字符串
5.切割
String[] split(regex);????????????????? 把該字符切割了,然后將每一部分組裝成數(shù)組
6.子串,獲取字符串中的一部分
String substring(begin);???????????? begin是數(shù)字? 從指定位置到結(jié)尾? 0? 1? 2??????? 如果角標(biāo)不存在,會發(fā)生角標(biāo)越界異常
String substring(begin,end);???????? 包含頭,不包含尾
7.轉(zhuǎn)換 去除空格 比較
7.1? 將字符串轉(zhuǎn)成大寫或者小寫
String toUppercase();???????? 這也是為什么java能忽略大小寫的原因
String toLowercase();
7.2 將字符串兩端多余的空格去除
String trim();
7.3 對兩個字符串進(jìn)行自然順序的比較
int compareTo();?????????????????? 開始比較,從0位置開始,以此比較,找到不同的,就相減,返回這一個值
*/
class StringMethodDemo
{
public static void method_get()
{
String str="abcdefakbf";
/*長度*/
//System.out.println(str.length());???? /*如果又有字符串呢?是不是要打印n多遍?怎么辦?P1*/
sop(str.length());
/*根據(jù)索引獲取字符*/
sop(str.charAt(40));?????????????? /*當(dāng)訪問到字符串中不存在的角標(biāo)時會發(fā)生字符串角標(biāo)越界異常*/
sop(str.charAt(4));
/*根據(jù)字符獲取索引*/
sop(str.indexof('a'));
sop(str.indexof('a',3));
sop(str.indexof('v',3));???????????? /*如果沒有找到,返回的值是-1,不會出現(xiàn)異常*/
/*反向索引----方法*/
sop(str.lastIndexof("a"));?? /*輸出的角標(biāo)不會變,一直從左邊開始*/
}
public static void sop(Object obj)??? /*無論傳什么值進(jìn)來都能打印*/
{
System.out.println(obj);
}
public static void main(String args[])
{
/*
String s1="abc";
String s2=new String("abc");
String s3="abc";
System.out.println(s1==s2);??? false
System.out.println(s1==s3);??? true?為什么?常量池中abc以及存在,s3發(fā)現(xiàn)abc存在后,就不會再開辟內(nèi)存空間了
*/
/*P1*/
method_get();
}
}
總結(jié)
以上是生活随笔為你收集整理的java中String类是什么_Java中的String类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java jar包和war包_java中
- 下一篇: java ear war_[转] 基于J