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

Groovy 技巧:字符串操作像 List 一樣簡單 (下標、切片、運算符重載)

     編輯:Java 相關知識

Java vs Groovy 字符串操作對比

核心語法糖

  • 下標訪問:str[index] 返回單字符字符串;str[range] 返回子串。
  • 多下標列表:str[i1, i2, ...] 拼接指定位置字符。
  • 運算符重載:- 移除首次出現的子串 (不存在無報錯);+ 拼接;* 重複。
  • 集合方法直用:each/collect/find/findAll/every/any 等 GDK 擴展方法直接作用於 String。

實戰範例

def s = 'abcdefg'
assert s[1..2] == 'bc'
assert s[1,3,5] == 'bdf'
assert s.contains('d')
assert (s - 'fg') == 'abcde'
assert (s - 'ab') == 'cdefg'
assert (s - 'st') == 'abcdefg'  // 無異常
s.each { print "$it," }         // a,b,c,d,e,f,g,

為什麼這樣設計?

Groovy 將 **String 視為字符序列集合**,統一集合操作體驗。減少 API 記憶負擔,代碼更接近自然語言表達,極大提升開發效率與可讀性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
操作JavaGroovy
截取子串str.substring(1,3) → "bc" (端點排除、易越界)str[1..2] → "bc" (含端點、直觀)
任意字符提取循環/Stream 處理str[1,3,5] → "bdf"
遍歷字符for(char c: str.toCharArray())str.each { print it + ',' }
包含判斷str.contains("d")str.contains('d') (同)
移除子串str.substring(0,5) 或 replace()str - 'fg' → "abcde"
移除不存在子串返回原串/需判斷str - 'st' → 原串 "abcdefg" (安全)