Groovy Tip 11 GDK的Object扩展方法
2008-05-07 08:06
344 查看
Groovy Tip 11 GDK的Object扩展方法
GDK对Java的Object类做了很多的扩展,但这些方法主要用于集合类和其他的组合类对象。其中,最著名的就是each方法,each方法在这里不再介绍,但其他一些方法也会比较常用。
1. 方法any
是指只要集合类对象中的任何一个元素符合闭包的条件,就返回true。如:
def list = [23,21,2,35,42,32,1,9,234,34]
println list.any{
it>100
}
结果为:
true
def list = [23,21,2,35,42,32,1,9,234,34]
println list.any{
def result = it/3
result>100
}
结果为:
false
2. 方法collect
是一个集合类对象元素收集方法,将集合类对象中所有元素作闭包的运算后组成一个新的集合类对象返回。如:
def list = [23,21,2,35,42,32,1,9,234,34]
def results = list.collect{
it*2
}
println results
结果为:
[46, 42, 4, 70, 84, 64, 2, 18, 468, 68]
3. 方法every
是指如果集合类对象中所有的元素都满足闭包条件,则返回true;否则,只要有一个元素不满足闭包条件,就返回false。
def list = [23,21,2,35,42,32,1,9,234,34]
println list.every{
it>2
}
结果为:
false
def list = [23,21,2,35,42,32,1,9,234,34]
println list.every{
it>0
}
结果为:
true
4. 方法findAll
将集合类对象中所有满足闭包条件的元素组成一个新的集合类对象返回。如:
def list = [23,21,2,35,42,32,1,9,234,34]
def results = list.findAll{
it>40
}
println results
结果为:
[42, 234]
GDK对Java的Object类做了很多的扩展,但这些方法主要用于集合类和其他的组合类对象。其中,最著名的就是each方法,each方法在这里不再介绍,但其他一些方法也会比较常用。
1. 方法any
是指只要集合类对象中的任何一个元素符合闭包的条件,就返回true。如:
def list = [23,21,2,35,42,32,1,9,234,34]
println list.any{
it>100
}
结果为:
true
def list = [23,21,2,35,42,32,1,9,234,34]
println list.any{
def result = it/3
result>100
}
结果为:
false
2. 方法collect
是一个集合类对象元素收集方法,将集合类对象中所有元素作闭包的运算后组成一个新的集合类对象返回。如:
def list = [23,21,2,35,42,32,1,9,234,34]
def results = list.collect{
it*2
}
println results
结果为:
[46, 42, 4, 70, 84, 64, 2, 18, 468, 68]
3. 方法every
是指如果集合类对象中所有的元素都满足闭包条件,则返回true;否则,只要有一个元素不满足闭包条件,就返回false。
def list = [23,21,2,35,42,32,1,9,234,34]
println list.every{
it>2
}
结果为:
false
def list = [23,21,2,35,42,32,1,9,234,34]
println list.every{
it>0
}
结果为:
true
4. 方法findAll
将集合类对象中所有满足闭包条件的元素组成一个新的集合类对象返回。如:
def list = [23,21,2,35,42,32,1,9,234,34]
def results = list.findAll{
it>40
}
println results
结果为:
[42, 234]
相关文章推荐
- 最简单直接继承、扩展Object,或者克隆一个Object到能创建多个互不干扰实例的方法
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- includes方法 使用 Object.defineProperty 扩展 ,解决不兼容问题
- Object、Function、String、Array原生对象扩展方法
- 从零开始学_JavaScript_系列(39)——对象的扩展(2)Object对象的扩展方法
- Tip#1-使用扩展方法创建新的HTML Helper
- Groovy Tip 2 each方法和break
- GDK对Object对象的扩展
- .NET:不要使用扩展方法扩展Object对象。
- Groovy Tip 32 方法的参数 一
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- Linq技术三:Linq to Object 和生成数据表的扩展方法
- Groovy Tip 27 Groovy语言对一些常用操作符的扩展
- Groovy Tip 33 方法的参数 二
- 最简单直接继承、扩展Object,或者克隆一个Object到能创建多个互不干扰实例的方法
- ECMAScript6(ES6)标准之对象Object扩展方法及新特性
- C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- object对象重写equals方法时为什么需要重写hashCode方法
- 利用Lambda表达式、扩展方法以及泛型来为对象添加方法