概述
Groovy里有两种字符串:java.lang.String和groovy实现的groovy.lang.GString
单引号 | 'hello world' | String |
双引号 | "hello world" "hello, $name" | String GString |
3个单引号 | ''' h1 h2 h3''' | String |
3个双引号 | """h1 h2 h3""" | String or GString |
斜杠 | /^test/ | String |
备注:
1、单引号的只能是java.lang.String,即使含有没有转义的$符号
2、如果含有没有转义的$符号,则为String;否则为GString
3、3个单引号或双引号,字符串可以为多行
双引号的字符串中,$的使用
如果字符串中含有没有转义的$符号,那么它会在运行期替换
如下事例:
me = 'Tarzan' you = 'Jane' line = "me $me - you $you" assert line == 'me Tarzan - you Jane' date = new Date(0) out = "Year $date.year Month $date.month Day $date.date" assert out == 'Year 70 Month 0 Day 1' out = "Date is ${date.toGMTString()} !" assert out == 'Date is 1 Jan 1970 00:00:00 GMT !'
这个替换的写法,类似于velocity中的用法。
如果想做双引号字符串里显示$这个字符,就要加一个反斜杠做转义,如"$'
字符(char)
groovy里,要想获得一个char,必须使用对应的类Character类,也可以通过String转化
如以下代码
'x' as char
or
'x'.toCharacter()
字符串的使用
除了我们日常使用java String的一些方法,groovy还增强了一些方法
greeting = 'Hello Groovy!' assert greeting.startsWith('Hello') assert greeting.getAt(0) == 'H' assert greeting[0] == 'H' assert greeting.indexOf('Groovy') >= 0 assert greeting.contains('Groovy') assert greeting[6..11] == 'Groovy' assert 'Hi' + greeting - 'Hello' == 'Hi Groovy!' assert greeting.count('o') == 3 assert 'x'.padLeft(3,'_') == '__x' //注意为两个下划线 assert 'x'.padRight(3,'_') == 'x__' assert 'x'.center(3) == ' x ' //前后各加了一个空格 assert 'x' * 3 == 'xxx' assert 'xx' - x == 'x'
更多的用法,大家可以参考
1、http://groovy.codehaus.org/groovy-jdk/java/lang/String.html
2、http://groovy.codehaus.org/gapi/groovy/lang/GString.html
最后
以上就是甜美长颈鹿为你收集整理的Groovy 的基本数据类型--字符串的全部内容,希望文章能够帮你解决Groovy 的基本数据类型--字符串所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复