詳解Java String類常用方法有哪些

一、構造器

實質是給底層的char數組value賦值

String s1 = new String();

在這裡插入圖片描述

String s2 = new String(“abc”);

在這裡插入圖片描述

String s3 = new String(new char[]{‘a’,‘b’,‘c’});

在這裡插入圖片描述 

二、方法

str.length() 字符串長度本質是底層的char數組的長度

在這裡插入圖片描述

str.isEmpty() 本質是判斷底層char數組長度是否為0

在這裡插入圖片描述

str.charAt(i) 本質是取底層char數組的第i個元素(字符)

在這裡插入圖片描述

str1.equals(str2)本質是比較二者底層char數組的元素是否都相等

在這裡插入圖片描述

str1.compareTo(str2)本質是返回二者底層char數組中第一個不同元素(字符的碼值)之差,如果沒有不同元素,則返回二者底層char數組長度之差。如果返回0,說明二者底層char數組相同。

在這裡插入圖片描述 

三、常用方法

package com.llg.learnString;


import java.util.Arrays;
import java.util.Locale;

public class Learn01 {
    //程序的入口
    public static void main(String[] args) {
        String s11 = "abcdefghijk";
        System.out.println(s11);
        //字符串截取 從第3位開始取到最後
        System.out.println(s11.substring(3));//defghijk
        //字符串截取 從第3位開始取到第6位最後
        System.out.println(s11.substring(3, 6));//def
        //字符串合並拼接 把zzzzz拼接到後面
        System.out.println(s11.concat("zzzzz"));//abcdefghijkzzzzz
        //字符串中的字符替換 把b替換為x
        System.out.println(s11.replace('b','x'));//axcdefghijk

        String s12 = "a-b-c-def-ghi-jk";
        //字符串分割 以-分割字符串,返回字符串數組
        String[] strarr= s12.split("-");
        System.out.println(Arrays.toString(strarr));//[a, b, c, def, ghi, jk]

        //轉換為小寫
        String s13 = "abc";
        System.out.println(s13.toUpperCase());//ABC
        //轉換為大寫
        String s14 = "ABC";
        System.out.println(s14.toLowerCase());//abc
        //去除首尾空格
        String s15 = "  a b c def ";
        System.out.println(s15.trim());//a b c def

        //toString
        String s16 = "abc";
        System.out.println(s16.toString());//abc

        //轉換為字符串String.valueOf
        System.out.println(String.valueOf(true));//true
        System.out.println(String.valueOf(false));//false
    }
}

在這裡插入圖片描述

四、String的內存分析

4.1、無變量參與的字符串拼接,編譯後隻存在結果字符串

編譯器優化

在這裡插入圖片描述
在這裡插入圖片描述 

4.2、new String(“abc”)新的字符串對象

在這裡插入圖片描述

4.3、變量參與的字符串拼接,編譯器不會優化

在這裡插入圖片描述

反匯編查看javap -c Learn5.class

在這裡插入圖片描述
在這裡插入圖片描述

到此這篇關於詳解Java String類常用方法有哪些的文章就介紹到這瞭,更多相關String類常用方法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: