Java에서 두 정수 비교

Mohammad Irfan 2023년10월12일
  1. Java에서==연산자를 사용하여 두 정수 값 비교
  2. Java에서equals()메소드를 사용하여 두 정수 참조 비교
  3. Java에서equals()메소드를 사용하여 두 정수 비교
  4. Java에서 == 연산자를 사용하여 두 개의 정수 참조를 비교하지 마십시오
Java에서 두 정수 비교

이 튜토리얼에서는 Java에서 두 정수를 비교하는 방법을 소개합니다.

Java에서 정수 값을 비교하려면equals()메소드 또는==(같음 연산자)를 사용할 수 있습니다. 둘 다 두 값을 비교하는 데 사용되지만==연산자는 두 정수 객체의 참조 동등성을 확인하는 반면equal()메서드는 정수 값만 확인합니다 (원시 및 비원시).

따라서 정수 값을 비교하는 동안 비교 방법 중에서 선택하는 것은 개발자의 몫입니다. 몇 가지 예를 살펴 보겠습니다.

Java에서==연산자를 사용하여 두 정수 값 비교

이 예에서는 두 개의 원시 정수를 취한 다음==연산자를 사용하여 두 값을 비교합니다. Java 15를 사용하여이 예제를 테스트합니다. 아래 예제를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    int a = 18;
    int b = 18;
    if (a == b) {
      System.out.println("Both are equal");
    } else
      System.out.println("Not equal");
  }
}

출력:

Both are equal

Java에서equals()메소드를 사용하여 두 정수 참조 비교

equals()메소드를 사용하여 Java에서 두 정수를 비교할 수 있습니다. 두 객체가 같으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    Integer a = new Integer(18);
    Integer b = new Integer(18);
    if (a.equals(b)) {
      System.out.println("Both are equal");
    } else
      System.out.println("Not equal");
  }
}

출력:

Both are equal

Java에서equals()메소드를 사용하여 두 정수 비교

여기서는 equals() 메서드를 사용하여 두 개의 정수 참조를 비교합니다.

public class SimpleTesting {
  public static void main(String[] args) {
    Integer a = 10;
    Integer b = 10;
    if (a.equals(b)) {
      System.out.println("Both are equal");
    } else
      System.out.println("Not equal");
  }
}

출력:

Both are equal

Java에서 == 연산자를 사용하여 두 개의 정수 참조를 비교하지 마십시오

두 정수 값을 비교하기 위해 == 연산자를 사용해서는 안 됩니다. 왜냐하면 참조의 동등성을 검사하기 때문입니다.

Java는 -128에서 127 사이의 범위에서 Integer 값을 캐시합니다. 따라서 두 정수 객체가 이 범위에서 동일한 값을 가질 때 == 비교기는 동일한 객체를 참조하기 때문에 true를 반환합니다. 그러나 이 범위를 벗어난 값에 대해서는 false을 반환합니다.

public class SimpleTesting {
  public static void main(String[] args) {
    Integer a = 18;
    Integer b = 18;
    if (a == b) {
      System.out.println("Both are equal");
    } else
      System.out.println("Not equal");
  }
}

출력:

Both are equal
public class SimpleTesting {
  public static void main(String[] args) {
    Integer a = 150;
    Integer b = 150;
    if (a == b) {
      System.out.println("Both are equal");
    } else
      System.out.println("Not equal");
  }
}

출력:

Not equal

위에서 볼 수 있듯이 ==를 사용하여 두 개의 Integer 값을 비교해서는 안 됩니다.

관련 문장 - Java Integer