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() 方法比较两个 Integer 对象

在这一步中,使用 equals() 方法比较两个 Integer 对象。如果 Integer 对象的值与传递给它的参数值相等,equals() 方法将返回 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

比较两个不同的 Integer 对象

在这一步中,创建两个具有不同值的 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

检查 Equals 方法对 Null 的处理

在这一步中,检查 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

使用 == 运算符比较两个 Integer 对象

在这一步中,使用 == 运算符比较两个 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

从二进制值创建 Integer 对象

在这一步中,使用 parseInt() 方法从二进制值创建一个 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 对象

在这一步中,使用自动装箱(autoboxing)来创建 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

比较两个不同值的 Integer 对象

在这一步中,比较两个具有不同值的 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() 方法来比较两个 Integer 对象。你还了解了 equals() 方法的工作原理,以及如何从不同的来源(如 String 值、二进制值和使用自动装箱)创建 Integer 对象。