`
李丹.杭州
  • 浏览: 15530 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Groovy Tip 10 Groovy语言对String的简化操作

阅读更多
声明:转自 软件信雅达

在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
分享到:
评论

相关推荐

    Groovy Tip 21 魔幻数组 一

    在探索Groovy语言的魅力时,我们不得不提及它对集合类型处理的独特之处。作为一款旨在提升开发效率与代码可读性的语言,Groovy在数组和列表对象上的操作展现出了令人赞叹的灵活性与便捷性。本篇聚焦于Groovy中的数组...

    Groovy入门教程[参照].pdf

    Groovy 是一种基于 Java 语言的脚本语言,运行在 JVM 中,语法与 Java 相似,但抛弃了 Java 的一些烦琐的语法规则,提供了更加简洁和灵活的编程体验。 Groovy 的特点 1. 简洁的语法:Groovy 语法简洁,减少了代码...

    Groovy应用(基本操作)

    列表可以通过下标访问,映射则通过键值对操作: ```groovy List list = [1, 2, 3] Map map = [key1: 'value1', key2: 'value2'] println list[0] // 输出:1 println map.key1 // 输出:value1 ``` 4. **...

    groovy-2.3.6-installer

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。Groovy结合了Python、Ruby和Perl等脚本语言的简洁性和灵活性,并且完全兼容Java,可以无缝地与Java代码集成。在"groovy-...

    精通 Groovy--下一代开发语言

    Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有...

    java 动态脚本语言 精通 Groovy

    10. **持续集成与构建工具**:Groovy也是构建工具如Gradle的首选语言,Gradle以其强大的插件系统和灵活的构建脚本闻名。 学习和精通Groovy能帮助Java开发者提高生产力,编写更加简洁、高效的代码,并能更好地利用...

    groovy脚本实现对数据库的增删改查

    在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入探讨如何使用Groovy来执行常见的数据库操作。首先,我们需要连接到数据库。在Groovy中,我们可以利用JDBC(Java Database Connectivity)API来实现这...

    Java中使用Groovy的三种方式

    在Java开发中,Groovy是一种强大的、动态类型的脚本语言,它可以无缝地与Java代码集成,为开发者提供了更简洁、灵活的语法。本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。...

    groovy速查手册

    Groovy是一种动态语言,旨在简化开发过程的同时保持与Java的高度兼容性。它不仅适用于脚本编写,还可以用于构建复杂的应用程序。通过上述介绍,我们了解了Groovy的一些基本特性和使用方法,这对于初学者来说是非常...

    用Groovy实现DSL领域定义语言

    在groovy中实现DSL领域特定语言的技术。 版权声明: 本系列文章是从原著《Groovy For Domain-Specific Languages》(原作者: Fergal Dearle)中翻译而来,从中加入了一些本人自己的读书笔记和理解。本系列文章不为...

    Java调用Groovy,实时动态加载数据库groovy脚本

    - **测试与隔离**:Groovy脚本可以作为独立的模块进行测试,避免了对Java代码的影响。 总的来说,Java调用Groovy并实时加载数据库中的Groovy脚本是一种强大而灵活的解决方案,特别适用于需要频繁调整业务逻辑或进行...

    groovy入门经典,groovyeclipse 插件

    它为Eclipse IDE带来了对Groovy语言的全面支持,包括语法高亮、代码提示、自动完成、调试器和构建工具。通过GroovyEclipse,开发者可以在Eclipse环境中舒适地编写、测试和运行Groovy代码,提高开发效率。 入门...

    JGSK, Java,Groovy,Scala,Kotlin 四种语言的特点对比.zip

    Java、Groovy、Scala和Kotlin是四种在Java平台上广泛使用的编程语言,它们各自具有独特的特点和优势。这里我们将深入探讨这四种语言的核心特性,并对比它们在实际开发中的应用。 首先,Java作为最古老的成员,自...

    groovy

    Groovy是一种基于Java平台的、动态的、强大的编程语言,它设计的目标是增强开发者的生产力。Groovy结合了Java的静态类型系统和Python、Ruby等动态语言的灵活性,使得开发者可以更加高效地编写代码。本篇文章将深入...

    groovy-all-2.4.8.jar

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个重要的补充。Groovy All-2.4.8.jar 是一个包含Groovy库的集合包,主要用于简化Groovy环境的搭建和使用。这个版本(2.4.8)是Groovy在2.x系列中的一个稳定...

    groovy-api-chm

    3. **集合操作**:Groovy对Java集合API进行了增强,提供了便利的列表和映射操作。例如,可以使用`each`、`collect`、`grep`等方法进行迭代、转换和筛选操作。 4. **闭包**:闭包是Groovy中的关键特性,它是可调用的...

    Groovy学习资料

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个强类型、静态类型的脚本语言。Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它成为Java开发者进行快速开发、自动化任务以及编写简洁代码的...

Global site tag (gtag.js) - Google Analytics