Groovy Tip 3 对对象的非空判断 在Java语言编程中,对对象的非空判断是一个永恒的话题。例如,我们经常需要对一个字符串进行如下的判断:
if(str!=null&&!str.equals("")) { ...... } 输入这样的语句的确使人生厌,而且有时候还会忘掉输入“!str.equals("")”语句中的“!”导致代码出现逻辑错误。 而敏捷的Groovy语言开发就不需要我们担心这样的问题。同样的判断语句,我们只需要输入下面的代码: def str = null if(str) { println"str is not null" } else { println’str is null’ } 这个语句段的执行结果为: str is null 可以看出,if(str)判断语句,当str为null的时候,不执行。你可能要问,当str = ’’的时候会怎样呢? def str = ’’ if(str) { println"str is not null" } else { println’str is null’ } 执行结果还是: str is null 这样,我们可以把开头的那段Java代码改写成如下的代码了: if(str) { ...... } 这样就简洁多了。不是吗? 除了字符串对象,那其他对象的非空判断呢?我们来看下面的例子: def map = [’key1’:’value1’] if(map) { println’map is not null’ } else { println’map is null’ } map.remove(’key1’) if(map) { println’this time,map is not null’ } else { println’this time,map is null’ } 执行结果为: map is not null this time,map is null 同样,我们来看看List对象: def list = [] if(list) { println’list is not null’ } else { println’list is null’ } list<<’a’ if(list) { println’here, list is not null’ } else { println’here, list is null too’
|
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|
|
||||
|
|
||||
|
|