初心者のJavaプログラミング

プログラミングガチ初心者がIT業界を目指して頑張ります。

【Android】スピナー(Spinner)クラスのメモ

こんばんは。
スピナークラスの使い方ではまっていたというよりは、
Stringクラスに対して誤解が!w

null と 空文字って違うんですねw

String str1 = null;
String str2 = "";

この二つは違います。
Stringは参照型の変数なので、変数には実体ではなくてオブジェクトのある実体の番地が入っています。
str1は実体がないということなのでどこも参照していません。
それに対してstr2は空文字が入っています。一応実体があるのでnullじゃないってことです。

いい例えが浮かばないけど、
鉛筆がない = 鉛筆が0本ある
みたいな感じなのかなと。

昔々、どっかの数学者が何もないという状態を、0という数字があると表現したっていう話をふと思い出しました。
そんな感じなのかなーw


そんで、
変数に文字が入っているかどうかの判定とかすると思うんですが、

if(str2 == "ハローワールド")

ではなくて

if(str2.equals("ハローワールド"))

というようにequalsメソッドを使って判定しなくてはなりません。


これではまってましたw
スピナーで表示されている文字列の状態に応じて、処理を変えていこうと思っていて、
ずっとequalsメソッド使わないで == で判定してました。
Logだしても最後のelseにしか入ってこないなーと思って、
ぐぬぬー状態でした。

とりあえず解決したので、がんがん先に進もうと思います!

ではでは!