2014-12-19 11 views
2

Редактировать: Stupid. Проблема заключалась в том, что я получил строку со значением «null»Как правильно сравнить null в groovy?


Как правильно сравнить для null в groovy правильно?

У меня есть следующий сценарий

println "row6: " + row[6] 

if(row[6] == null) { 
    println "if" 
} 
    else { 
    println "else" 
} 

Когда я запускаю его с рядом, где указанное поле равно нулю, вывод:

row6: null 
else 

Groovy Docs говорят a == null будет работать, а a.is(null) - нет.

Итак, как я могу сравнить значение null в groovy правильным способом?

P.S. Я видел The SO-Thread: comparing-null-and-number-in-groovy. В нем говорится, что значение null обрабатывается как число, но это все равно означает, что сравнение должно работать, когда значение равно null.

ответ

1

Этот код печатает если:

def row = [] 
row[6] = null 
println "row6: " + row[6] 

if(row[6] == null) { 
    println "if" 
} else { 
    println "else" 
} 

Вы уверены, что row[6] является недействительным?

+0

Да. см. строку отладки 'println 'row6:" + row [6] ', что приводит к' row6: null'. Также в моем скрипте, когда скрипт входит в else-part, он вызывает ошибку Null Pointer Exception при попытке преобразовать значение null в int: «Преобразование ошибки преобразования данных» «null» (yyy: xxx INT) »' – bish

+0

Приведите полный пример , – Opal

+1

Ах, посмотри. Это строка со значением «null». OMG Я глуп – bish

Смежные вопросы