我们说基于Groovy语言的Java项目开发是一个敏捷的开发,除了我们使用Grails作为Web开发平台,Groovy语言本身就提供了很多敏捷的地方。
我们知道,在Java语言中,判断两个字符串的值是否相等,我们使用equals方法,而“==”作为判断两个对象引用是否相同的符号。事实证明,我们使用equals方法多过使用“==”符号,特别是在字符串的使用中。
在实际编码的过程中,形如:
if(abc1.equals(abc2))
{
……
}
这样的if语言特别多,但是我们每一次都得拼写equals方法,而不是简单的使用“==”符号。虽然Eclipse等IDE能够帮我们把equals方法拼写完整,但使用equals方法毕竟耽误了我们的时间,远远没有使用“==”符号敏捷。
Groovy语言考虑到了我们的这个实际的需求,果断的使用“==”符号代替了equals方法,来提供Groovy语言编程的敏捷性。
def abc1 = 'abc'
def abc2 = "abc"
println abc1 == abc2
打印的结果为true。
这样,我们就不必再if(abc1.equals(abc2))了,而可以直接使用:
if(abc1==abc2)
{
……
}
是不是方便了很多?
甚至判断Collection两个对象的内容是否相同也可以使用“==”符号,如:
def list1 = [1]
def list2 = [1]
println list1 == list2
你可以把上面的语句运行看看,结果为true。
两个Map对象的内容是否相同也可以使用“==”符号判断,如:
def map1 = ['name':'tom']
def map2 = ['name':'tom']
println map1 == map2
结果为true。但是你要运行下面的语句:
def map1 = ['name':'tom']
def map3 = ['name':'alice']
println map1 == map3