`
lixjluck
  • 浏览: 104685 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Groovy 的基本数据类型--字符串

阅读更多

Groovy里有两种字符串:java.lang.String和groovy实现的groovy.lang.GString

 

 

String的表现形式
单引号 '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

 

分享到:
评论
1 楼 argan 2009-09-03  
可以尝试使用groovy来写一些业务代码,groovy用来计算性能不行,写写业务逻辑应该还是挺方便的吧,可以搞些原型来试试看

相关推荐

    Groovy语法系列教程之字符串(三).pdf

    字符串插值功能使得字符串在Groovy中不仅是一个简单的文本容器,更是一个可以包含动态内容的数据结构。 综上所述,Groovy提供的字符串处理特性,能够使程序员在处理文本数据时更加灵活高效,这无疑是Groovy作为动态...

    一些groovy的实例代码--免费下载

    下面将详细解析Groovy在字符串处理中的几个关键知识点: 1. **访问子字符串** - Groovy允许通过索引访问字符串中的子串,如`str.substring(startIndex, endIndex)`。 2. **设置默认值** - 当变量可能为空时,...

    groovy-binary

    9. **GString**:Groovy的GString可以方便地进行字符串格式化,类似于Java的String.format()方法。 10. **元编程**:Groovy支持元编程,允许在运行时修改或扩展类的行为,提供了强大的灵活性。 在安装"groovy-...

    groovy速查手册

    - 使用`groovy.util.Eval`类来评估存储在Java字符串中的简单代码。 - 通过`groovy.util.GroovyShell`提供更灵活的绑定和可选的预解析功能。 #### 三、语言元素 Groovy提供了丰富的语言元素,包括但不限于: - **...

    Groovy学习笔记

    - **字符串处理**: Groovy提供了丰富的字符串处理功能,包括格式化字符串、字符串替换等。 - **集合操作**: 支持多种集合类型,如列表(List)和映射(Map),并提供了便捷的操作方法。 - **类和闭包**: Groovy支持面向...

    Groovy and Grails Recipes(清晰PDF)

    - Groovy的基本数据类型(如数字、字符串等) - 集合数据结构(列表、集合、映射等) - 控制结构(条件语句、循环等) **4. Object-Oriented Groovy** - **介绍**: 讨论了如何在Groovy中实现面向对象编程。 - *...

    groovy

    4. **GString**:Groovy的字符串可以包含表达式,使得字符串插值变得简单。 在实际开发中,Groovy常用于构建自动化脚本、配置文件、持续集成(CI)任务,甚至作为大型项目的一部分。Grails是一个基于Groovy的Web...

    Z2-Groovy in Action.pdf

    Groovy将所有类型都视为对象(Everything is an object),这意味着Groovy中的基本数据类型(如整数、浮点数和字符串)也拥有方法。Groovy利用这一特性,提供了许多方便的操作,例如字符串插值,以及利用GString实现...

    Groovy教程学习资料宣贯.pdf

    - **字符串连接**:Groovy支持多行字符串,可以通过使用三引号(`"""`)来创建,不需要使用`+`号连接字符串。 - **一切皆对象**:Groovy中,所有变量都是对象,这意味着你可以对任何类型的数据执行对象方法,即使在...

    groovy中map的基本操作1

    在Groovy中,Map的键可以是任意类型,但通常我们使用字符串。声明Map时,可以省略字符串引号,例如`["a":1]`与`[a:1]`是等价的,前提是`a`不是Groovy的关键字且符合标识符规则。然而,如果键是一个变量,如`def x = ...

    Groovy应用(基本操作)

    Groovy支持基本的数据类型,如整型(int)、浮点型(float)、布尔型(boolean)和字符串(String)。此外,它还有动态类型,即GroovyObject,所有Groovy对象都继承自这个类型。 3. **列表和映射** Groovy中的...

    Programming_Groovy_2.7z

    - **隐式类型转换**:Groovy会自动处理基本类型的隐式转换,如字符串与数字之间的转换。 - **GString**:Groovy中的字符串可以包含表达式,使得字符串插值变得简单。 - **闭包**:Groovy支持函数式编程中的闭包,...

    groovy基础语法.pdf

    它可以处理基本数据类型和对象类型,当使用Java类型时,Groovy会自动进行装箱和拆箱操作。 对象和类: Groovy支持面向对象编程,你可以定义类并创建对象。类中可以定义属性和方法。Groovy简化了属性的定义,通过...

    groovy包及相关学习资料

    - **简洁语法**:Groovy的语法比Java更加简洁,它支持方法调用的点语法,以及闭包和内建的GString(类似模板字符串)。 - **动态类型**:Groovy允许开发者在不指定变量类型的条件下编写代码,但在运行时可以自动...

    Groovy用户指南

    - **字符串拼接**:使用`+`进行拼接。 ```groovy def greeting = "Hello" + ", " + name ``` - **三引号字符串**:用于包含多行文本。 ```groovy def multilineString = """ This is a multi-line string. ...

    groovy in action 中文版 2017.11

    在字符串处理方面,Groovy引入了GString,这种字符串可以包含表达式,能够在运行时被评估。同时,Groovy还引入了对正则表达式的支持,使得文本模式匹配和处理更加方便。 在集合类型方面,Groovy支持使用范围...

    Groovy in Action

    - **内容概述**: 详细介绍Groovy中的基本数据类型及其用法。 - **知识点**: Groovy中的数字类型、字符类型、布尔类型等。 - **学习目标**: 熟练使用Groovy中的各种数据类型进行编程。 **第4章: The Collective ...

Global site tag (gtag.js) - Google Analytics