Java の Integer クラスの equals メソッド

JavaBeginner
オンラインで実践に進む

はじめに

この実験では、Java の Integer クラスの equals() メソッドについて学びます。このメソッドは、Integer オブジェクトの値と別のオブジェクトの値を比較するために使用されます。この実験では、equals() メソッドの使い方とその機能について学びます。

Integer オブジェクトを作成する

このステップでは、Integer オブジェクトを作成して値を割り当てます。次に、同じ値で別の Integer オブジェクトを作成します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        Integer num2 = 25;

    }
}

equals() メソッドを使って 2 つの Integer オブジェクトを比較する

このステップでは、equals() メソッドを使って 2 つの Integer オブジェクトを比較します。equals() メソッドは、Integer オブジェクトの値がそれに渡されたパラメータの値と等しい場合に true を返します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        Integer num2 = 25;

        if(num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is equal to num2

2 つの異なる Integer オブジェクトを比較する

このステップでは、異なる値を持つ 2 つの異なる Integer オブジェクトを作成し、その後 equals() メソッドを使って比較します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        Integer num2 = 30;

        if(num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is not equal to num2

null に対する equals メソッドをチェックする

このステップでは、equals() メソッドが null と比較した場合に正しく機能するかどうかをチェックします。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = null;
        Integer num2 = 25;

        if(num1!= null && num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is not equal to num2

==演算子を使って 2 つの Integer オブジェクトを比較する

このステップでは、== 演算子を使って 2 つの Integer オブジェクトを比較します。== 演算子はオブジェクトの参照を比較します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        Integer num2 = 25;

        if(num1 == num2) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is equal to num2

文字列を使って Integer オブジェクトを作成する

このステップでは、String 値を解析することで Integer オブジェクトを作成します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = Integer.parseInt("25");
        Integer num2 = 25;

        if(num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is equal to num2

Integer オブジェクトと別のクラスのオブジェクトを比較する

このステップでは、equals() メソッドを使って Integer オブジェクトと別のクラスのオブジェクトを比較します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        String str = "25";

        if(num1.equals(str)) {
            System.out.println("num1 is equal to str");
        } else {
            System.out.println("num1 is not equal to str");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is not equal to str

2 進数値から Integer オブジェクトを作成する

このステップでは、parseInt() メソッドを使って 2 進数値から Integer オブジェクトを作成します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = Integer.parseInt("1010", 2);
        Integer num2 = 10;

        if(num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is equal to num2

Integer オブジェクトに対してオートボクシングを使用する

このステップでは、オートボクシングを使って Integer オブジェクトを作成します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        int num1 = 25;
        int num2 = 25;

        Integer intObj1 = num1;
        Integer intObj2 = num2;

        if(intObj1.equals(intObj2)) {
            System.out.println("intObj1 is equal to intObj2");
        } else {
            System.out.println("intObj1 is not equal to intObj2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

intObj1 is equal to intObj2

異なる値を持つ 2 つの Integer オブジェクトを比較する

このステップでは、異なる値を持つ 2 つの Integer オブジェクトを比較します。

// ~/project/IntegerEqualsMethod.java

public class IntegerEqualsMethod {
    public static void main(String[] args) {

        Integer num1 = 25;
        Integer num2 = 30;

        if(num1.equals(num2)) {
            System.out.println("num1 is equal to num2");
        } else {
            System.out.println("num1 is not equal to num2");
        }

    }
}

コードを実行するには、ターミナルで次のコマンドを使用します。

javac IntegerEqualsMethod.java && java IntegerEqualsMethod

出力:

num1 is not equal to num2

まとめ

この実験では、Integer クラスの equals() メソッドを使って 2 つの Integer オブジェクトを比較する方法を学びました。また、equals() メソッドの機能、および String 値、2 進数値、オートボクシングなどの異なるソースから Integer オブジェクトを作成する方法も学びました。