Groovy学习笔记-陷阱
1.def和in是关键字
2.==映射到了equals() 中,如果有Comparable接口实现,则优先compareTo
str1 = 'hello'
str2 = str1
str3 = new String('hello') str1 == str2 // true
str1.is(str2) // true str1 == str3 // true
str1.is(str3) // false
3.传递闭包
class Calibrator{
Calibrator(calcBlock){
print 'using....'
calcBlock()
}
} def calibrator = new Calibrator({
println 'provider 1'
}) def calcBlock2 = { println 'provider 2' }
def calibrator2 = new Calibrator(calcBlock2) /*output
using....provider 1
using....provider 2
*/
4.int[] arr = [1,2,3,4] // arr type is int[]
def arr = [1,2,3,4] // arr type is ArrayList
Groovy学习笔记-陷阱的更多相关文章
- Groovy学习笔记(二)
在上一篇文章中我们主要学习了如何搭建Groovy开发环境,为我们的Groovy之旅做好了准备工作,不知道你是否准备好了?接下来我们就一起看看Groovy与我们熟悉的Java有什么异同. Groovy是 ...
- Groovy学习笔记(一)
1.1 安装Groovy Groovy主页:http://www.groovy-lang.org 确保本地系统安装了Java 1.1.1 在Windows系统上安装Groovy 1.创建环境变量GRO ...
- Groovy学习笔记(1)读取CSV文件
本篇分享讲展示如何在Groovy中读取CSV文件. 我们要读取的CSV文件foo.csv的内容如下: Groovy代码如下: //import packages import java.i ...
- Groovy学习笔记-动态类型
1.respondsTo方法判断对象是否存在指定方法 interface IHelp{ void helpMoveThings() } class Man implements IHelp{ void ...
- Groovy学习笔记-Java 5新特性支持
1.枚举enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG } def orderCoffee(size){ print "Coff ...
- Groovy学习笔记-布尔求值
1.判断字符串为null或空字符串 def str = null if(str) println 'str is not null' else println 'str is null' str = ...
- Groovy学习笔记-实现接口
1.单个委托方法的实现 button.addActionListener( { println 'Implement ActionListener' } as ActionListener ) 2.实 ...
- Groovy学习笔记-使用多赋值
1.方法返回多个结果:返回数组,将多个变量逗号隔开,放在左侧圆括号中 def splitName (fullName) { fullName.split(' ') } def (firstName, ...
- 【转】C缺陷和陷阱学习笔记
http://www.cnblogs.com/hbiner/p/3591335.html?utm_source=tuicool&utm_medium=referral 这段时间把<C陷阱 ...
随机推荐
- jquary高级和ajax
jquary高级: 1.动画 1.三种方式显示与隐藏元素 1.默认显示和隐藏的方式 1.show([speed],[easing],[fn]):显示 [speed],[easing],[fn] spe ...
- HDOJ-2039
#include<iostream> #include<cstdio> using namespace std; int main(){ int m,flag; float x ...
- spring cloud(五)熔断监控Hystrix Dashboard和Turbine
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...
- 小程序批量获取input的输入值,监听输入框,数据同步
在使用小程序时,跟vue的数据绑定不一样,没有v-model这个属性了,官网也只是给了一些事件监听. 但是我们如果有多个表单时,需要写多个事件来同步数据.这样做很麻烦.下面的方法可以解决,只需要一个方 ...
- 如何在hadoop上做等频离散化
抛砖引玉,先根据特征值group by,统计每个特征值出现次数,然后reduce到一个文件,根据一个文件来统计吧,毕竟,你知道多个桶,那么每个桶多少个样本就是确定了,数数,数到一个桶样本的时候停止,就 ...
- 关于footer 小于一屏还要在底部显示的思考
首先想到了页面是动态的 就是js 计算 但是有一个简单的方法就是 运用定位 1 footer 的祖先元素没有定位属性 absoulite (这样他就会相对于文档定位) left:0 bottom : ...
- php session 保存到redis 实现session的共享
1.redis安装肯定都会了,就不介绍了. 2.核心代码
- 安装 yaml-cpp,MP4V2
一.在ubuntu上安装yaml-cpp的过程: git clone https://github.com/jbeder/yaml-cpp.git进入yaml-cpp目录后,mkdir buildcd ...
- 小程序数据绑定点赞效果切换(交流QQ群:604788754)
如果对本例有更好的意见和建议,希望给予留言或是加群跟群主联系,交流学习. WXML: <block wx:for="{{nums}}" wx:for-index='idx' ...
- PROJ.4学习——坐标系转换
PROJ.4学习——坐标系转换 前言 PROJ可以做任从最简单的投影到许多参考数据非常复杂的转换.PROJ最初是作为地图投影工具开发的,但随着时间的推移,它已经发展成为一个强大的通用坐标转换引擎,可以 ...