當前位置:編程學習大全網 - 編程語言 - Groovy Tip 3 如何在if條件語句中判斷對象為空

Groovy Tip 3 如何在if條件語句中判斷對象為空

Groovy Tip 3 如何在if條件語句中判斷對象為空

在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'

}

輸出結果為:

list is null

here, list is not null

如果是Domain對象?

class Empl

{

String name

}

執行下面的語句:

Empl em = new Empl()

if(em)

{

println'em is not null'

}

else

{

println'em is null'

}

結果為:

em is not null

可以看出,對於Domain對象,只要該對象不是null,則if(em)條件為true。

  • 上一篇:霸州小學規劃
  • 下一篇:什麽是 GPT 保護分區?如何恢復其中的數據?
  • copyright 2024編程學習大全網