詳解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!
推薦閱讀:
- JAVA基礎類庫之String類,StringBuffer類和StringBuilder類
- 聊聊Arrays.deepToString()和Arrays.toString()的區別
- Java-String類最全匯總(上篇)
- Java多線程高並發中解決ArrayList與HashSet和HashMap不安全的方案
- Java JUC中操作List安全類的集合案例