Java Integer Equals 方法

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习 Java 中 Integer 类的 equals() 方法。该方法用于比较一个 Integer 对象的值与另一个对象的值。在本实验中,你将学习如何使用 equals() 方法以及它的工作原理。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/StringManipulationGroup(["`String Manipulation`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/SystemandDataProcessingGroup(["`System and Data Processing`"]) java/BasicSyntaxGroup -.-> java/operators("`Operators`") java/BasicSyntaxGroup -.-> java/booleans("`Booleans`") java/BasicSyntaxGroup -.-> java/variables("`Variables`") java/BasicSyntaxGroup -.-> java/if_else("`If...Else`") java/StringManipulationGroup -.-> java/strings("`Strings`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("`Classes/Objects`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/wrapper_classes("`Wrapper Classes`") java/SystemandDataProcessingGroup -.-> java/object_methods("`Object Methods`") subgraph Lab Skills java/operators -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/booleans -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/variables -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/if_else -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/strings -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/classes_objects -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/wrapper_classes -.-> lab-117708{{"`Java Integer Equals 方法`"}} java/object_methods -.-> lab-117708{{"`Java Integer Equals 方法`"}} end

创建一个 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 对象。

您可能感兴趣的其他 Java 教程