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

Java String 字符串常用方法速查手冊

     編輯:Java 綜合教學

String 核心特性

  • 不可變性:每次操作都會創建新對象,原對象不變
  • 常量池:字面量自動入池,new String() 在堆創建
  • final 類:不可繼承,安全性高

常用方法分類速查

📏 長度與判空

方法說明示例
length()字符數(char 代碼單元)"abc".length() == 3
isEmpty()長度為 0"".isEmpty() == true
isBlank()Java 11+,僅含空白字符" ".isBlank() == true

🔍 查找與匹配

方法說明
charAt(int index)指定索引字符
indexOf(String str) / lastIndexOf首次/最後一次出現索引,無則 -1
contains(CharSequence s)是否包含子串
startsWith/endsWith前綴/後綴匹配
matches(String regex)整串正則匹配

✂️ 截取與分割

方法說明
substring(int begin) / (begin, end)截取子串 [begin, end)
split(String regex) / (regex, limit)正則分割返回數組
subSequence(int start, int end)實現 CharSequence 接口

🔄 替換與大小寫

方法說明
replace(CharSequence target, replacement)字面量替換(全量)
replaceAll/replaceFirst(String regex, replacement)正則替換
toUpperCase() / toLowerCase()大小寫轉換(可指定 Locale)

🧹 空白處理

方法說明
trim()移除首尾空白(≤ U+0020)
strip() / stripLeading() / stripTrailing()Java 11+,Unicode 感知

🔗 拼接與轉換

方法說明
concat(String str)拼接字符串
join(CharSequence delimiter, elements...)Java 8+ 靜態方法拼接
valueOf(Object obj)任意類型轉字符串
toCharArray()轉 char 數組
getBytes(Charset charset)編碼為字節數組

📊 比較與格式化

方法說明
equals(Object obj) / equalsIgnoreCase內容比較
compareTo(String another)字典序比較
format(String format, Object... args)靜態格式化
String.format(...)同上

效能最佳實踐

  • 頻繁拼接用 StringBuilder(單線程)或 StringBuffer(多線程)
  • 避免循環中 s += "x",會產生大量臨時對象
  • 正則分割/替換預編譯 Pattern 復用
  • 大文本處理考慮 CharSequence 避免複製

Java 版本新增亮點

  • Java 8:String.join、Chars.stream()
  • Java 11:isBlank、strip、repeat、lines()
  • Java 12:indent、transform
  • Java 13:Text Blocks(多行字符串 """...""")

熟練掌握 String API,配合版本新特性,能寫出更簡潔、高效、安全的字符串處理代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved