String string1 = "abc";
String string2 = new String("abc");
String string3 = "abc";
==相當于判斷兩個地址是否一樣
字符串中的equals方法 比較的是兩個字符串中的每一個字符
System.out.println(string1 == string2);? //false
System.out.println(string1 == string3);? //true
System.out.println(string1.equals(string2));? //true
string1 和 string2 有什么不同 分別代表幾個對象?
string1是一個對象? 常量池里的一個對象abc
string2是兩個對象? "abc"是一個對象 又new了一個堆區(qū)的對象
1.獲取字符串字符 charAt
根據(jù)索引獲取字符串中字符
返回值類型? ? 方法名? 參數(shù)
char? ? ? ? ? charAt? (int index)
String string1 = "wanglong";
char c = string1.charAt(1);
System.out.println(c);? //結(jié)果為:a
2.獲取目標字符的索引indexOf
//? 傳入字符,在字符串中0下標開始尋找下標
String string1 = "wanglong";
int index = string1.indexOf('g');
System.out.println(index); //結(jié)果為:7? 如果找不到會返回-1
//? 從2下標開始尋找字符n的下標
int index1 = string1.index('n',2);? //結(jié)果為:2
//? 傳入字符串 查找對應位置
int index2 = string1.indexOf("ng");
System.out.println(index2);? //結(jié)果為:2
3.拼接字符串concat(或者+)
//? 拼接字符串
String str2 = "chinese";
String str3 = str1 + str2;
String str4 = str1.concat(str2);
System.out.println(str3);? //結(jié)果為:wanglongchinese
System.out.println(str4);? //結(jié)果為:wanglongchinese
4.判斷是否包含這個字符串contains ? ? 是否以這個前綴開頭startWith(endWith)
//? 包含
String str1 = "wanglong";
boolean b1 = str1.contains("an");
System.out.println(b1);? //結(jié)果為:true
boolean b2 = str1.contains("and");
System.out.println(b2);? //結(jié)果為:false
5.替換replace,切割split,截取子串subString,轉(zhuǎn)換大小寫toUpperCase(),去空格trim
? ? ? ? //替換
? ? ? ? String string = "wanglong";
? ? ? ? String string1 = string.replace('a','f');
? ? ? ? System.out.printlf(string1);? //輸出結(jié)果:wfnglong
? ? ? ? String string2 = string.replace("ng","chinese");
? ? ? ? System.out.println(string2);? //輸出結(jié)果:wachineselong
? ? ? ? //分割
? ? ? ? String string = "wang,long,zui,niu,bi";
? ? ? ? //按逗號進行切割
? ? ? ? String[] array = string.split(",");
? ? ? ? for(String str : array){
? ? ? ? ? ? System.out.print(str + " ");? //輸出結(jié)果為:wang long zui niu bi
? ? ? ? }
? ? ? ? String string = "wanglong";
? ? ? ? //? 返回從索引往后的字符串
? ? ? ? String string1 = string.subString(5);
? ? ? ? System.out.println(string1);? //輸出結(jié)果:ong
? ? ? ? //? 類似random 截取時留頭不留尾
? ? ? ? String string2 = string.subString(2,6);? //輸出結(jié)果: nglo
? ? ? ? String string = "wanglong";
? ? ? ? //轉(zhuǎn)大寫
? ? ? ? String string1 = string.toUpperCase();
? ? ? ? String string2 = "CHINESE";
? ? ? ? //轉(zhuǎn)小寫
? ? ? ? String string3 = string2.toLowerCase();
? ? ? ? System.out.println(string1);? //輸出結(jié)果:WANGLONG
? ? ? ? System.out.println(string3);? //輸出結(jié)果:chinese
? ? ? ? //去空格
? ? ? ? String string = "? wang? long? ";
? ? ? ? String string1 = string.trim();
? ? ? ? System.out.println(string1);? //輸出結(jié)果:wang? long
6.字符串與數(shù)組的互換 字符串轉(zhuǎn)字符數(shù)組--toCharArray(). ?
? ? ? ? char[] array = {a,c,d,w,f};
? ? ? ? String arr = new String(array);
? ? ? ? System.out.println(arr);? //輸出結(jié)果為:acdwf
? ? ? ? String string1 = "wanglong";
? ? ? ? char[] charArray = string1.toCharArray();
? ? ? ? for(char c : charArray){
? ? ? ? ? ? System.out.println(c);? //? 輸出結(jié)果 : w a n g l o n g
? ? ? ? }
7.int型轉(zhuǎn)字符串 valueOf()
? ? ? ? //? int 型轉(zhuǎn)字符串
? ? ? ? int num = 4;
? ? ? ? String string = String.valueOf(num);
? ? ? ? System.out.println(num); //輸出字符串結(jié)果:4
在此我向大家推薦一個架構(gòu)學習交流群泪电。交流學習群號:938837867 暗號:555 里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring哩至,MyBatis帮哈,Netty源碼分析放刨,高并發(fā)秘遏、高性能、分布式近弟、微服務架構(gòu)的原理综慎,JVM性能優(yōu)化愉镰、分布式架構(gòu)等這些成為架構(gòu)師必備