Java 文字列の比較

プログラムの中で、ある文字列が一致したら、この処理を実行したいなどといったアルゴリズムを記述したいと思います。

例:

Javaでは、文字列の一致の条件式は、equalsメソッドを用いる必要があります。

直感的では、変数==文字列としたくなります。

では、なぜequalsメソッドを用いる必要があるのかまとめました。

==演算子

==演算子は、条件式で左辺と右辺が等しい場合に用います。

他の言語であるように、Javaでも存在します。

Javaには、基本型参照型が存在します。

==演算子は、基本型のみ比較でき、参照型は比較できません。(参照型は、アドレスで比較される。)

では、まず基本型参照型の説明をします。

基本型と参照型

プログラムでは、変数をデータ型で指定します。

データ型の例として、整数を用いたいならint、少数を用いたいならdouble、文字列を用いたいならStringなどがあります。

そのデータ型は、さらに基本型参照型に分けられます。

基本型参照型
整数型(byte,short,int,long)、少数型(float,double)、
文字型(char)、論理型(boolean)
文字列型(String)、配列型(int[],String[])

基本型は、データそのものを扱います。

例として、int型の変数numに1を代入します。

そうすると変数numという箱の中にデータが入ったイメージになります。

このような変数(箱)内部の、データを直接やり取りするものになります。

参照型は、オブジェクトがメモリ内のどこにあるかを扱います。

参照型はメモリ上にその変数用の保存領域を確保したうえで、その場所を参照します。

equalsメソッド

equalsメソッドは、参照型の値を比較します。変数.equlas(値)という書き方をします。

例:

String str = "Hello";
if( str.equals("Hello") ){
    true時の処理
}

まとめ

基本型の比較は、==演算子

参照型の比較は、equalsメソッド