文档章节

GDK对Object对象的扩展

不战则亡
 不战则亡
发布于 2015/02/18 14:05
字数 433
阅读 17
收藏 0
点赞 0
评论 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
博文 5
码字总数 5090
作品 0
杭州
程序员
centos下eclipse安装问题

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

大东哥 ⋅ 2011/04/13 ⋅ 5

在ubuntu下让sublime text3支持中文输入

的别人的文章,找做了一下,特别好使,记下过程备忘 原文地址[Ubuntu 下让sublime-text3支持中文输入法 ][1] 操作步骤如下 1.安装libgtk2.0-dev 2.补丁脚本 sublime_imfix.c新建一个名为sub...

jim19770812 ⋅ 2015/03/25 ⋅ 4

完美解决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 ⋅ 2

制作GTK+控件

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

职通网 ⋅ 2010/05/31 ⋅ 0

sublime text 中文输入解决完整步骤

解决过程 前提条件:安装fcitx输入法,并设为默认输入法,并确保中文切换快捷键与sb的快捷键没有冲突 安装gcc,gtk+2.0开发包 sudo apt-get install libgtk2.0-dev gcc 编译fcitx兼容文件 第一步...

朱__朱 ⋅ 2013/05/30 ⋅ 3

黑马程序员分享:python全栈开发环境构建

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

传智播客 ⋅ 2017/02/09 ⋅ 2

求助 如何在gtk+的调色板中添加透明度的代码

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

均均 ⋅ 2012/06/29 ⋅ 0

GTK+ 程序的编译命令

编译 Hello World 程序的编译命令是: gcc -Wall -g helloworld.c -o helloworld 这里使用了程序 pkg-config,可以从 www.freedesktop.org 得到。这个程序读取 GTK 附带的 .pc 文件来决定编译...

赤月e魔 ⋅ 2011/07/03 ⋅ 0

[翻译]PyCairo指南--图片

PyCairo中的图片 PyCairo指南的这个部分,我们将讨论图片。我们将演示如何在GTK窗口中显示一幅PNG或JPEG图片。我们也将在图片上画一些文字。 显示一幅PNG图片 第一个例子中,我们将显示一幅P...

WolfCS ⋅ 2013/05/25 ⋅ 0

X Window 系统的窗口显示原理

简介: 本文介绍 X Window 系统的窗口显示原理。从一个简单的 X 客户端程序入手,介绍了窗口的创建接口 XCreateWindow 和显示接口 XMapWindow 的实现,并结合窗口管理器介绍了 X Server、X C...

小编辑 ⋅ 2010/07/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 11分钟前 ⋅ 0

Ubuntu部署django问题汇总

使用Anaconda3的Python3.6的pip安装UWSGI报错 原因是gcc版本不兼容,安装4.7并修改gccsudo apt-get install gcc-4.7sudo mv /usr/bin/gcc /usr/bin/gcc.baksudo ln -s /usr/bin/gcc-4.......

wuyaSama ⋅ 15分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

猫耳m ⋅ 15分钟前 ⋅ 0

Docker减肥小记

如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察 如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷… 1、查看...

寰宇01 ⋅ 25分钟前 ⋅ 0

微信小程序中如何使用WebSocket实现长连接(含完整源码)

本文由腾讯云技术团队原创,感谢作者的分享。 1、前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一...

JackJiang- ⋅ 33分钟前 ⋅ 0

定制库到Maven本地资源库

1.如果只有定制库的JAR文件 下载链接如下:pdf.jar 2.使用命令转换成Maven本地资源 mvn install:install-file -Dfile=/Users/manager/Downloads/clj-pdf-2.2.33.jar -DgroupId=clj-pdf -Dar......

年少爱追梦 ⋅ 37分钟前 ⋅ 0

高仿springmvc之xuchen-mvc

package org.mvc.framework.servlet; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.......

徐志 ⋅ 40分钟前 ⋅ 0

关于自定义URLStreamHandler的一次踩坑

关于自定义URLStreamHandler的一次踩坑 20180625 lambo init 说明 一般自定义实现url的协议解析.方案为实现URLStreamHandler.实现其 openConnection 就可以了, 如果我们执行 new URL("xx://...

林小宝 ⋅ 41分钟前 ⋅ 0

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

演示证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependenc......

小帅帅丶 ⋅ 42分钟前 ⋅ 0

用Calendar 实现 计算 一段时间的毫秒值

Calendar c=Calendar.getInstance();c.add(Calendar.MONTH, -1);int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH)......

岸芷汀兰 ⋅ 45分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部