“in”关键字,在Groovy语言中用法如下:
def list = [1,2,3]
for(i in list)
{
println i
}
运行结果为:
1
2
3
这个增强的for循环也可以用在对Map的循环上,如:
def map = [a:"1",b:"2"]
for(i in map)
{
println "${i.key} : ${i.value}"
}
运行结果为:
a : 1
b : 2
除此之外,“in”关键字还被Groovy语言引入用在判断一个对象是否是一个集合类的元素。如:
def list = [1,2,3]
println 1 in list
println 5 in list
运行结果为:
true
false
其他,如Set对象也可以这样用:
def set = [1,2,3,4,3,4] as Set
println 1 in set
println 5 in set
运行结果为:
true
false
除了这些,在Groovy语言中,“in”关键字还有一个用途,就是用来判定一个对象是否属于一个类的实例。这个用法在Java语言中是由“instanceof”关键字承担的。如,我们有两个类A和B:
class A
{}
class B extends A
{}
现在,我们有一个对象是由B类实例化,如下:
def b = new B()
我们就可以这样使用“in”关键字:
println b in A
println b in B
和Java语言中“instanceof”关键字的用法一模一样,运行结果为:
true
true
当然了,Java语言的“instanceof”关键字也被Groovy语言继承下来了,下面的代码也将打印“true”:
println b instanceof A
如果是接口和它的实现,也可以与上面一样的使用“in”关键字:
interface C
{}
class D implements C
{}
def d = new D()
println d in C
println d in D
运行结果同样是两个“true”。
分享到:
相关推荐
- **高级用法**:Groovy还支持闭包的递归调用、多参数传递等功能。 **5. 动态对象导向** - **动态类型**:Groovy采用动态类型系统,可以在运行时确定变量类型。 - **元编程**:Groovy提供了一套强大的元编程...
这意味着开发者可以在现有的Java项目中轻松引入Groovy代码,或者创建全新的Groovy应用程序。 **1.1.2 与Java共事:无缝集成** Groovy的设计初衷之一就是能够与Java无缝集成。这种集成体现在多个方面: - **语法...
源码包"GroovyInAction-master"包含了书中各个章节的实例代码,这些代码展示了Groovy的各种特性和用法,包括但不限于以下知识点: 1. **动态类型与静态类型**:Groovy允许程序员在同一个项目中同时使用动态类型和...
这本书是学习Groovy语言的宝贵资源,通过详细讲解和实例代码,帮助读者理解并掌握Groovy的核心特性和高级用法。 在书中,作者首先会介绍Groovy的基础知识,包括变量、控制结构(如if语句和循环)、函数以及类和对象...
Groovy还提供了一些便捷的异常处理方法,如try-catch和try-finally的简化用法。 脚本和模块化: Groovy支持模块化编程,可以通过import语句导入其他Groovy脚本或Java类。同时,Groovy允许以脚本的形式运行代码,这...
通过学习《Groovy In Action》,开发者可以掌握Groovy的精髓,从而在日常开发中充分利用其优势,提升开发效率,编写出更加灵活、可读性强的代码。无论你是Java开发者希望扩展技能,还是对动态语言感兴趣的程序员,这...
在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。Groovy还支持幂运算,`4 ** 3`表示4的3次方。字符串可以用单引号 `'kevin'`...
"Groovy in Action"是一本权威的Groovy学习资料,对于想要深入理解Groovy特性和用法的开发者来说,它是不可或缺的参考书籍。 这本书详细介绍了Groovy语言的基础,包括语法、类型系统、控制结构、函数式编程概念以及...
### Groovy 快速入门知识点详解 ...以上就是Groovy基础语法中的关键知识点,包括集合操作和闭包的相关用法。通过掌握这些基础知识,可以帮助开发者快速上手Groovy语言,并利用其强大且灵活的功能进行高效开发。
Groovy是一种动态、开源的编程语言,它与Java平台紧密集成,可以被用作脚本语言或构建完整的应用程序。在Groovy中,`range`是一个非常...在学习和使用Groovy时,掌握`range`的用法对于编写高效、易读的代码至关重要。
通过对《Gradle In Action2》源代码的学习,开发者不仅可以掌握Gradle的基本用法,还能深入理解其工作原理,从而更高效地管理和构建自己的项目。同时,源码实例也为解决实际问题提供了参考,帮助开发者解决在构建...
- **集合和迭代**:展示Groovy中列表、地图和集合的高级用法,以及各种迭代方法。 - **异步编程**:介绍Groovy的非阻塞I/O和并行处理机制,如协程和Fibers。 ### 建模与控制器章节概览 第三章和第四章分别讨论了...
"Dynamic Parameter plug-in"是 Jenkins 插件家族中的一个重要成员,它为构建过程提供了更灵活的参数化构建功能。由于某种原因,这个插件在官方仓库可能无法直接搜索到,但它的价值在于能够帮助开发者自定义构建过程...
orientdb-spring-boot-example 带有spring boot ang groovy和 lib的OrientDB用法示例在 lib提供的IntelliJ IDEA中突出显示了完整的方法。 ###您可以从该项目中学到什么使用OrientDB图形和文档本机api,但仍然保持...
Gradle是一个开源的项目自动化构建工具,基于Apache Ant和Apache Maven概念,由基于Groovy语言的Domain Specific Language(DSL)来驱动。它使用了一种基于依赖的声明式语言,这使得开发者能够编写出更加简洁和具有...