equals

インスタンスの比較

Stringはint,doubleなどの基本変数と異なり、クラスの扱いをするので、比較を行う時に特別な方法が必要。

ファイル名 ArgTest.java

/** コマンドライン引数のテスト */
public class ArgTest { 
   public static void main( String[] args ) {
        System.out.println ( args[0] );
        System.out.println ( args[0].length() );
        if (args[0]=="1") System.out.println(" == で一致");
        if (args[0].equals("1")) System.out.println("equalsで一致");
   } 
}

課題

1.

ファイル名 ArgTest.java

上記プログラムを確認しなさい。

2.

ファイル名 ArgTest2.java

/** コマンドライン引数のテスト */
public class ArgTest2 { 
   public static void main( String[] args ) {
        System.out.println ( args[0]+" "+args[1] );
        System.out.println ( args.length );
        if (args[0]==args[1]) System.out.println(" == で一致");
        if (args[0].equals(args[1])) System.out.println("equalsで一致");
   } 
}

3.

ファイル名 StrTest.java

/** String の比較 */
public class StrTest { 
   public static void main( String[] args ) {
        String a = "abc";
        String b = "abc";
        if (a==b) System.out.println(" == で一致");
        if (■■equals■■) System.out.println("equalsで一致");
   } 
}

4.

ファイル名 StrTest2.java

/** String の比較 */
public class StrTest2 { 
   public static void main( String[] args ) {
        String a = "abc";
        String b = a;
        if (a==b) System.out.println(" == で一致");
        if (■■equals■■) System.out.println("equalsで一致");
   } 
}

結果

プログラム 引数 == で一致 equalsで一致
ArgTest 1 - equalsで一致
1以外 - -
ArgTest2 1 1 , a a 等 - equalsで一致
1 2 , a b 等 - -
StrTest - - equalsで一致
StrTest2 - == で一致 equalsで一致
もくじ

聖愛中学高等学校
http://www.seiai.ed.jp/
Last Modified