NULLと空文字の違い(Java)

NULLと空文字を同一だと思っていたけど
同じようで全く違う位置付けだったので、
こちらにまとめておく。

空文字

<form>タグでデータを送信した場合、
未入力で送信したデータの値は「空文字」として扱う。

空文字とは「0文字、""」の状態を指す。
空文字かどうかの確認は「変数.isEmpty()」で行える。

if(data.isEmpty()){
・・・
}
//もし data の変数が空文字の場合は・・・

null

<form>タグでデータを送信せず、
直接アドレスバーからサーブレットやJSPにリクエストを送信した場合、
データは未送信となり、値は「null」となる。

nullという値は、データとしては空っぽということで、空文字とはまた異なる。
nullかどうかの確認は、値としてnullと一致するかどうかで行うため、
演算子を使う。

if(data == null){
・・・
}
//もし data の変数がnullの場合・・・


ということで、
同じ未入力でもデータとして入力なしで送信の結果なのか、
そもそもデータとして送信していないか、
結果が異なるので、気をつけておこう。

この記事が気に入ったらサポートをしてみませんか?