詳解Java String類常用方法有哪些
一、構(gòu)造器
實(shí)質(zhì)是給底層的char數(shù)組value賦值
String s1 = new String();

String s2 = new String(“abc”);

String s3 = new String(new char[]{‘a(chǎn)',‘b',‘c'});
二、方法
str.length() 字符串長(zhǎng)度本質(zhì)是底層的char數(shù)組的長(zhǎng)度

str.isEmpty() 本質(zhì)是判斷底層char數(shù)組長(zhǎng)度是否為0

str.charAt(i) 本質(zhì)是取底層char數(shù)組的第i個(gè)元素(字符)

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

str1.compareTo(str2)本質(zhì)是返回二者底層char數(shù)組中第一個(gè)不同元素(字符的碼值)之差,如果沒有不同元素,則返回二者底層char數(shù)組長(zhǎng)度之差。如果返回0,說明二者底層char數(shù)組相同。
三、常用方法
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";
//字符串分割 以-分割字符串,返回字符串?dāng)?shù)組
String[] strarr= s12.split("-");
System.out.println(Arrays.toString(strarr));//[a, b, c, def, ghi, jk]
//轉(zhuǎn)換為小寫
String s13 = "abc";
System.out.println(s13.toUpperCase());//ABC
//轉(zhuǎn)換為大寫
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
//轉(zhuǎn)換為字符串String.valueOf
System.out.println(String.valueOf(true));//true
System.out.println(String.valueOf(false));//false
}
}

四、String的內(nèi)存分析
4.1、無變量參與的字符串拼接,編譯后只存在結(jié)果字符串
編譯器優(yōu)化

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

4.3、變量參與的字符串拼接,編譯器不會(huì)優(yōu)化

反匯編查看javap -c Learn5.class


到此這篇關(guān)于詳解Java String類常用方法有哪些的文章就介紹到這了,更多相關(guān)String類常用方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring-retry實(shí)現(xiàn)循環(huán)重試功能
這篇文章主要介紹了Spring-retry 優(yōu)雅的實(shí)現(xiàn)循環(huán)重試功能,通過@Retryable注解,優(yōu)雅的實(shí)現(xiàn)循環(huán)重試功能,需要的朋友可以參考下2023-07-07
Java實(shí)現(xiàn)十進(jìn)制與二進(jìn)制互轉(zhuǎn)的示例詳解
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)十進(jìn)制與二進(jìn)制的互轉(zhuǎn),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下2022-11-11
springboot+redis過期事件監(jiān)聽實(shí)現(xiàn)過程解析
這篇文章主要介紹了springboot+redis過期事件監(jiān)聽實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Java實(shí)現(xiàn)批量操作Excel的示例詳解
在操作Excel的場(chǎng)景中,通常會(huì)有一些針對(duì)Excel的批量操作,以GcExcel為例,為大家詳細(xì)介紹一下Java是如何實(shí)現(xiàn)批量操作Excel的,需要的可以參考一下2023-07-07
java基礎(chǔ)之標(biāo)簽、按鈕和按鈕事件簡(jiǎn)介
本文給大家?guī)淼氖莏ava圖形界面的基礎(chǔ)知識(shí),簡(jiǎn)單介紹了標(biāo)簽、按鈕和按鈕事件,十分的詳細(xì),有需要的小伙伴可以參考下。2015-06-06
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(27)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07
Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù)
這篇文章主要介紹了Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

