文档章节

GDK对Object对象的扩展

一寸飞
 一寸飞
发布于 2015/02/18 14:05
字数 433
阅读 19
收藏 0

GDK对Object对象的扩展

Groovy添加了若干方法到java.lang.Object当中,其中大部分处理类型作为集合或聚合,如列表或DOM节点。

<table class="confluenceTable"><tbody><tr><th class="confluenceTh"><p>Return Value</p></th><th class="confluenceTh"><p>Method</p></th><th class="confluenceTh"><p>Description</p></th></tr><tr><td class="confluenceTd"><p>Boolean</p></td><td class="confluenceTd"><p>any {closure}</p></td><td class="confluenceTd"><p>returns <code>true</code> if the closure returns true for any item</p></td></tr><tr><td class="confluenceTd"><p>List</p></td><td class="confluenceTd"><p>collect {closure}</p></td><td class="confluenceTd"><p>returns a list of all items that were returned from the closure</p></td></tr><tr><td class="confluenceTd"><p>Collection</p></td><td class="confluenceTd"><p>collect(Collection collection) {closure}</p></td><td class="confluenceTd"><p>same as above, but adds each item to the given collection</p></td></tr><tr><td class="confluenceTd"><p>void</p></td><td class="confluenceTd"><p>each {closure}</p></td><td class="confluenceTd"><p>simply executes the closure for each item</p></td></tr><tr><td class="confluenceTd"><p>void</p></td><td class="confluenceTd"><p>eachWithIndex {closure}</p></td><td class="confluenceTd"><p>same as each{} except it passes two arguments: the item and the index</p></td></tr><tr><td class="confluenceTd"><p>Boolean</p></td><td class="confluenceTd"><p>every {closure}</p></td><td class="confluenceTd"><p>returns <code>true</code> if the closure returns <code>true</code> for <em>all</em> items</p></td></tr><tr><td class="confluenceTd"><p>Object</p></td><td class="confluenceTd"><p>find {closure}</p></td><td class="confluenceTd"><p>returns the first item that matches the closure expression</p></td></tr><tr><td class="confluenceTd"><p>List</p></td><td class="confluenceTd"><p>findAll {closure}</p></td><td class="confluenceTd"><p>returns all items that match the closure expression</p></td></tr><tr><td class="confluenceTd"><p>Integer</p></td><td class="confluenceTd"><p>findIndexOf {closure}</p></td><td class="confluenceTd"><p>returns the index of the first item that matched the given expression</p></td></tr></tbody></table> **注释**以上表格只列出部分常用的方法,添加到`java.lang.Object`中的完整方法列表请参阅[GDK documentation on Object ](http://groovy.codehaus.org/groovy-jdk/java/lang/Object.html) 在Groovy当中,自从`return`关键字变成可选之后,闭包在这种情况下被当做`判断`,并且在闭包当中你无论给出的是什么表达式,返回的结果都是布尔型的。这种`判断`允许你以一种非常简洁的方式在集合对象上执行操作。 ### 例子 <pre class="brush:groovy"> def numbers = [ 5, 7, 9, 12 ] assert numbers.any { it % 2 == 0 } //returns true since 12 is even

assert numbers.every { it > 4 } //returns true since all #s are > 4

assert numbers.findAll { it in 6..10 } == [7,9] //returns all #s > 5 and < 11

assert numbers.collect { ++it } == [6, 8, 10, 13] //returns a new list with each # incremented

numbers.eachWithIndex{ num, idx -> println "$idx: $num" } //prints each index and number </pre> 原文地址 http://groovy.codehaus.org/GDK+Extensions+to+Object

© 著作权归作者所有

共有 人打赏支持
一寸飞

一寸飞

粉丝 1
博文 10
码字总数 5090
作品 0
杭州
程序员
私信 提问
centos下eclipse安装问题

请问: 我在redhat下用root用户下了个eclipse,然后解压,运行都正常 但切换成其他用户的时候,会报一堆错误。 怎么解决,是要把给其他用户授权吗? 出错信息: Xlib: connection to ":0.0"...

大东哥
2011/04/13
3.9K
5
完美解决Ubuntu下Sublime Text 2中文输入(Fcitx)

sudo apt-get install build-essential libgtk2.0-dev gcc -shared -o libsublime-imfix.so sublime_imfix.c pkg-config --libs --cflags gtk+-2.0 -fPIC 其中sublime_imfix.c代码见文末. s......

eechen
2015/03/11
0
2
制作GTK+控件

转自:http://www.miidoo.cn/info_detail-261.html在做GTK 自定义控件之前,应先了解两个问题,其一是GTK 中的GDK库完成了对X Window的核心Xlib库的封装,使之简化易用;其二是GTK 本身完成了...

jobell
2010/05/31
390
0
黑马程序员分享:python全栈开发环境构建

Sublime简介 1.安装package管理工具 2.调出installpackage界面 3.常用工具包 4.常用包使用说明 AdvancedNewFile Djaneiro Emmet Git Side Bar HTML/CSS/JS Prettify Python PEP8 Autoformat ......

传智播客
2017/02/09
748
2
求助 如何在gtk+的调色板中添加透明度的代码

现在的代码如下 希望能添加 改变透明度的功能 急急急急急 #include #include #include GtkWidget *colorseldlg = NULL; GtkWidget *drawingarea = NULL; GdkColor color; /* 颜色改变信号的处...

均均
2012/06/29
200
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 自定义你的空间

通过对你的空间进行界面的自定义能够让你的空间更加出类拔萃。 如果你具有空间管理员权限,你可以修改你空间的颜色配色,添加你自己的空间标识,选择是否在你空间中显示边栏。或者你可以进入...

honeymose
今天
1
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部