程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Groovy Tip 10 Groovy語言對String的簡化操作

Groovy Tip 10 Groovy語言對String的簡化操作

編輯:關於JAVA

在Groovy語言中,對String對象的操作就像操作List對象一樣的方便。比如我們在Java語言中,對String對象的操作用得比較多的是substring方法。如下:

String str = "abcdefg";

System.out.println(str.substring(1,3));

結果為:

bc

這裡有兩點不便:一是substring方法和參數的繁瑣;二是它的最後一個參數,比如substring(1,3)得到的結果不是str對象的第一位到第三位,而是第二位。這和我們的直覺不符,常常導致我們出錯。

而在Groovy語言裡,上面的代碼被改造為下面的樣子:

def str = 'abcdefg'

println str[1..2]

結果為:

bc

看到了吧,像數組一樣操作String對象,str[1..2]得到的就是第一位到第二位的值,符合我們的習慣。

當然,你還可以取String對象中的任意字符:

def str = 'abcdefg'

println str[1,3,5]

結果是:

bdf

很棒吧!

既然操作String對象就像操作List對象一樣,那麼List類的一些方法如each等String對象就可以直接拿來使用了。

def str = 'abcdefg'

str.each{

print it

print','

}

結果為:

a,b,c,d,e,f,g,

def str = 'abcdefg'

println str.contains('d')

結果為:

true

等等。其他方法,如“find”、“findAll”、“every”、“any”等方法都可以在String對象中使用。

如果你不喜歡str對象後面的“fg”兩個字符,想把他們從str對象中刪掉,在Java語言中,你必須這樣做:

String str = "abcdefg";

str = str.substring(0,5);

System.out.println(str);

而在Groovy語言中,你可以這樣做:

def str = 'abcdefg'

str = str-'fg'

println str

當然,你也可以把str對象中的“ab”減去:

def str = 'abcdefg'

str = str-'ab'

println str

結果為:

cdefg

如果在str對象中減去“st”呢:

def str = 'abcdefg'

str = str-'st'

println str

結果為:

abcdefg

如果在str對象中減去“be”呢:

def str = 'abcdefg'

str = str-'be'

println str

結果為:

abcdefg

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved