SE夫婦の背のびしないくらし

空白と空文字の違いは何?スペースやブランク、NULLについても!

WRITER
 
この記事を書いている人 - WRITER -

SE(いや、PGかな)駆け出しのころは全く使い分けられていなかったこの違い。

でも違いが分かってくると、矛盾した使い方に出くわすと気になって仕方がなくなってきます(笑)

 

空白なの?空文字なの?

見た目は違わないけれど、システムでは大違い!

脱初心者には必須事項なので、スペース、ブランクも含めてぜひ覚えていってくださいね!

空白と空文字の違いは長さ!

空白は長さがありますが、空文字は長さがありません。

なんのこっちゃという感じですか?ね?

 

空白を表すと、「” ”」とか「” “」とかです。

長さがありますね。

そう、「ある」状態なのです。

 

一方、空文字は「””」。

長さが0文字(0バイト)の文字列です。

文字がカラ(空=ない)ということですね。

 

空白と空文字
  • 空白:「” ”」や「” ”」など
  • 空文字:「””」

なので、空白≠空文字ですよ!

 

空白とスペースは同じ意味

空白とスペースは同じ意味です。

長さがある文字列です。

 

ほら、半角スペースとか全角スペースとか言いますよね。

こう聞くとイメージできたのではないでしょうか?

半角空白とはあまり言いませんけれども・・・。

空文字とブランクは同じ意味

空文字とブランクも同じ意味です。

空白を英訳するとBlankとなるので混乱する人もいるかもしれませんが、ブランクは長さのない文字列=空文字のことを表します。

「””」ですよ!「””」。

 

NULLは何もない

NULLとは何もないこと意味しています。

これが一番わかりにくい!(笑)

最初は全く理解できませんでした。。。

 

ちょっと難しくなってきたのでジュースでもいかがでしょう!

そう、例えばこんな感じです(絵が下手でごめんなさい・・・)。

①は美味しそうなジュースがなみなみある状態。

そう”ある”状態です。

空白(スペース)もこれに該当します。

空白が”ある”のです。

 

相当のどが渇いていたようです。

あっという間に飲んで、空になってしまいました。

それが②の状態ですが、察しがいい人は分かりましたね。

空文字のイメージはこんな感じ。

中身がない”状態です。

 

で、じゃぁ、③なのですが、これは中身どころかそもそもコップがない、つまり何にもない状態

これがNULLです。

イメージつきましたでしょうか??

 

Javaプログラミングをしていると「NullPointerException」という例外エラーが発生することがあります。

これはNULLのところに、何かをしようとする(何もないところにジュースを注ごうとするようなイメージ)ので怒られちゃうわけですね。

このエラーのことをかわいく?「ぬるぽ」と言ったりしますが、もしかしてできる人?!という印象を与えるのでぜひ使ってみてくださいね(笑)

 

まとめ

さて、空白、空文字、スペース、ブランク、NULLを説明しましたが、その違いが分かりましたでしょうか?

  • 空白とスペースは同じ意味で長さがある状態
  • 空文字とブランクは同じ意味で長さがない状態
  • NULLは何にもない状態

でしたね。

違いを理解して、脱初心者しちゃいましょう!

この記事を書いている人 - WRITER -

- Comments -

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Copyright© 旅するSE , 2024 All Rights Reserved.