1. 程式人生 > 其它 >java.lang.String類

java.lang.String類

java.lang.String類

 

 

一、前言

簡單瞭解JDK常用的包和類後,開始學習String類,學習思路:

  1. 瞭解String類的概念

  2. 掌握String類基本的構造器

  3. 理解建立String物件的底層區別

  4. 掌握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物件放入常量池中