java.lang.String類
阿新 • • 發佈:2022-03-14
java.lang.String類
一、前言
簡單瞭解JDK常用的包和類後,開始學習String類,學習思路:
-
瞭解String類的概念
-
掌握String類基本的構造器
-
理解建立String物件的底層區別
-
掌握String類基本的常用方法
二、String類的概念
String類代表字串,字串是常量,他們的值建立之後不能更改。
java.lang.String:
public final class String
implements java.io.Serializable,Comparable<String>,CharSequence{
-
final修飾符:類被final修飾符修飾,所以String類不能被繼承,也代表不可變的字元序列(這點目前還不能完全理解,先將其寫好);
-
Serializable介面:表示字串是支援序列化的;(據說等到學到IO流的時候即可理解。。)
-
Comparable介面:表示String可以比較大小;
三、String類的構造方法
1.String類常用的構造方法
熟練掌握幾種String類常用的構造器,剩餘可看API;(先掌握一些基礎常用的)
String str = "hello";
初始化一個新建立的 String 物件"hello";
String s1 = new String(hello);
new一個String物件"hello";
String s1 = new String(char[] a);
new一個String物件,內容為char[] a;
String s1 = new String(char[] a,int startIndex,int count);
new一個String物件char[] a,從索引startIndex出開始擷取,長度為count;
2.建立String物件的兩種區別
理解建立String物件後一些基礎的底層邏輯
-
直接賦值方式建立物件
直接賦值方式建立物件是在方法區的常量池
-
通過構造方法建立字串物件
通過構造方法建立字串物件是在堆記憶體
例:
public class TestString {
public static void main(String[] args) {
String str1 = "Lance";
String str2 = new String("Lance");
String str3 = str2; //引用傳遞,str3直接指向st2的堆記憶體地址
String str4 = "Lance";
System.out.println(str1==str2);//false
System.out.println(str1==str3);//false
System.out.println(str3==str2);//true
System.out.println(str1==str4);//true
}
}
四、String類的常用方法
熟練掌握一些String類常用的方法,剩餘可看API;
1.String的判斷功能
boolean equals(Object obj): 重寫的equals方法,比較字串的內容是否相同
boolean equalsIgnoreCase(String str): 比較字串的內容是否相同,忽略大小寫
boolean startsWith(String str): 判斷字串物件是否以指定的str開頭
boolean endsWith(String str): 判斷字串物件是否以指定的str結尾
2.String類的獲取功能
int length(): 獲取字串的長度,其實也就是字元個數
char charAt(int index): 獲取指定索引處的字元
int indexOf(String str): 獲取str在字串物件中第一次出現的索引,輸入為首位s的索引值
String substring(int start): 從start開始擷取字串
String substring(int start,int end): 從start開始,到end結束擷取字串。包括start,不包括end
3.String的轉換功能
char[] toCharArray(): 把字串轉換為字元陣列
String toLowerCase(): 把字串轉換為小寫字串
String toUpperCase(): 把字串轉換為大寫字串
4.其他常用方法
String trim(): 去除字串兩端空格
String[] split(String str): 按照字串中其有的指定符號分割字串,存於陣列
String intern():將String物件放入常量池中