2008/12/08

Groovyは、NullPointerException発生しにくいかな?

改良? - ひたすらプログラミング日記

こちらのブログをうけ、各所でNullPointerExceptionを回避するコーディングのどれがよいのかの議論が行われているようです。

見ていると「ああ、僕もこれやってるなぁ」と思ってしまうことが多数。特に以下の意見。

そもそも、

if( x != null && x.equals("") ){ … }

って、問題を先延ばしにしてね?そもそもxにnullがセットされているのに処理が続行されるの、おかしくね??

ああ、胸が痛い。僕です。このコードをメソッドの終了まで書きつづけたことも。今度から、""でいいStringはメソッド開始時にnullを弾くように考えてみよう。

同じブログだけど、Groovy勉強中 - ひたすらプログラミング日記でかかれているようにGroovyは自動的にこのNullPointerException問題を回避できるから楽ちん。

def x = null
println x.equals("")
println x == ""

x = ""
println x.equals("")
println x == ""


def test(){
    return null
}

x = test()
println x.equals("")
println x == ""

結果

false
false
true
true
false
false

0 件のコメント:

コメントを投稿