NULLと空文字の違い(Java)
NULLと空文字を同一だと思っていたけど
同じようで全く違う位置付けだったので、
こちらにまとめておく。
空文字
<form>タグでデータを送信した場合、
未入力で送信したデータの値は「空文字」として扱う。
空文字とは「0文字、""」の状態を指す。
空文字かどうかの確認は「変数.isEmpty()」で行える。
if(data.isEmpty()){
・・・
}
//もし data の変数が空文字の場合は・・・
null
<form>タグでデータを送信せず、
直接アドレスバーからサーブレットやJSPにリクエストを送信した場合、
データは未送信となり、値は「null」となる。
nullという値は、データとしては空っぽということで、空文字とはまた異なる。
nullかどうかの確認は、値としてnullと一致するかどうかで行うため、
演算子を使う。
if(data == null){
・・・
}
//もし data の変数がnullの場合・・・
ということで、
同じ未入力でもデータとして入力なしで送信の結果なのか、
そもそもデータとして送信していないか、
結果が異なるので、気をつけておこう。