首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java String 類核心方法大全:建構、比較、搜尋、替換、轉換完整速查

     編輯:Java 相關知識

String 類基礎特性

  • 屬於 java.lang 套件,final 類別不可繼承
  • 物件一旦建立內容不可變更(不可變物件)
  • 雙引號字面值儲存於字串常量池,new String() 建立於堆疊

建構子速查表

建構子說明範例
String()空字串new String()
String(String)複製字串new String("abc")
String(char[])字元陣列轉字串new String(new char[]{'a','b'})
String(char[], offset, count)部分字元陣列new String(arr, 1, 2)
String(byte[])位元組陣列解碼new String(new byte[]{65,66}) → "AB"
String(byte[], charset)指定編碼解碼new String(bytes, "UTF-8")

核心方法分類速查

1. 長度與字元存取

int length()                    // 字串長度
char charAt(int index)          // 指定索引字元
char[] toCharArray()            // 轉字元陣列
byte[] getBytes(Charset charset) // 轉位元組陣列

2. 子字串擷取

String substring(int begin)           // 從 begin 到結尾
String substring(int begin, int end)  // [begin, end) 區間

3. 字串比較

方法回傳值特性
equals(Object)boolean內容比較,區分大小寫
equalsIgnoreCase(String)boolean忽略大小寫
compareTo(String)int字典序比較,回傳負/零/正
compareToIgnoreCase(String)int忽略大小寫字典序
regionMatches(...)boolean區域比較,可指定偏移長度
startsWith/endsWithboolean前綴/後綴比對
contains(CharSequence)boolean是否包含子序列

4. 字串連接與替換

String concat(String)                    // 連接,等同 +
String replace(char old, char new)       // 字元替換
String replace(CharSequence, CharSequence) // 字面值替換
String replaceFirst(String regex, String) // 首個正則匹配替換
String replaceAll(String regex, String)   // 所有正則匹配替換

5. 大小寫轉換與修剪

String toLowerCase()          // 全小寫
String toUpperCase()          // 全大寫
String trim()                 // 移除首尾空白
String strip()                // Java 11+ 移除 Unicode 空白

6. 搜尋與分割

int indexOf(int ch / String)           // 從前搜尋首次出現位置
int indexOf(int ch / String, int from) // 從指定位置搜尋
int lastIndexOf(int ch / String)       // 從後搜尋
String[] split(String regex)           // 正則分割
String[] split(String regex, int limit) // 限制分割數

7. 類型轉換:字串 ⇄ 基本型別

方向方法範例
字串 → intInteger.parseInt(String)Integer.parseInt("123")
字串 → doubleDouble.parseDouble(String)Double.parseDouble("3.14")
字串 → booleanBoolean.parseBoolean(String)Boolean.parseBoolean("true")
基本型別 → 字串String.valueOf(型別)String.valueOf(123)
數字 → 進制字串Integer.toBinary/Hex/OctalString(int)Integer.toHexString(255) → "ff"

效能最佳實踐

  1. 頻繁修改字串:使用 StringBuilder(單執行緒)或 StringBuffer(多執行緒)
  2. 字串比較:優先用 equals(),避免 == 比較參考
  3. 正則分割:重複使用時預編譯 Pattern
  4. 常量池複用:字面值自動駐留,intern() 可手動駐留

Java 11+ 新增實用方法

boolean isBlank()           // 全空白或空字串
String strip()              // 移除首尾 Unicode 空白
String stripLeading()       // 移除前導空白
String stripTrailing()      // 移除尾隨空白
Stream lines()      // 按行分割為 Stream
String repeat(int count)    // 重複字串
// 範例:"=".repeat(30) → "=============================="
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved