HOWTO · Java

Java if 문과 문자열 비교

Java에서 if 문을 통해 문자열 비교.

이 가이드에서는 Java의 if 문 문자열 비교에 대해 설명합니다. 일반적으로 두 문자열을 비교하는 세 가지 방법이 있습니다. 이러한 작업의 기본 사항을 이해하고 비교 대상(내용, 참조 또는 문자열 차이)을 찾아야 합니다. 이에 대해 더 자세히 살펴보겠습니다.

== 연산자를 사용하여 문자열을 Java if 문과 비교

== 연산자를 사용하여 if 문을 통해 두 문자열을 비교할 때 해당 문자열의 참조 번호를 비교하지만 내용을 비교하는 것과 동일하게 작동한다는 것을 알 수 있습니다. 동일한 내용을 가진 두 개의 문자열이 있으면 동일한 것으로 표시됩니다. 왜요? Java 컴파일러는 동일한 내용을 가진 두 문자열을 동일한 메모리에 저장할 수 있을 만큼 충분히 성숙하기 때문입니다.

equal() 함수를 사용하여 Java if 문과 문자열 비교

equal() 함수를 통해 두 문자열의 내용을 비교할 수 있습니다. 내용이 유사한지 확인할 수 있습니다. 대소문자를 구분하지만 대신 equalsIgnoreCase() 함수를 사용하여 대소문자 구분을 무시할 수도 있습니다.

compareTo() 함수를 사용하여 Java if 문과 문자열 비교

이 함수에서 우리는 두 문자열의 차이를 얻습니다. 각 문자의 유니코드 값을 기준으로 사전순으로 비교합니다. 두 문자열이 같으면 0 값을 얻고 문자열이 다른 문자열보다 작으면 0 값보다 작거나 그 반대의 경우도 마찬가지입니다.

다음 자체 설명 코드를 살펴보십시오.

public class Main {
  public static void main(String[] args) {
    String str1 = "jeff";
    String str2 = "jeff";
    String str3 = new String("jeff"); // to declare
    String str10 = new String("jeff");
    System.out.println("-----------------Using == Operator ----------------");
    // using == opreater use for Refrence Comapring instead of content comparison.
    if (str1
        == str2) { // equal and if Conditon True because both have same Refrence Memory address.
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str1 and Str3 are equals");
    }
    if (str10
        == str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
      System.out.println("Str10 and Str3 are equals");
    }

    System.out.println("-----------------Using .equal Method----------------");
    // Using .equals Method. for String Content Comparison.

    if (str1.equals(str2)) { // equal and if Conditon True because both have same string
      System.out.println("Str1 And Str2 Equal");
    }
    if (str1.equals(str3)) { // Equal If Condition true String have same Content.
      System.out.println("Str1 and Str3 are equals");
    }
    // compare two strings diffrence
    System.out.println("-----------------Using Compare Method----------------");
    // first string.toCompare(String2)

    System.out.println(str1.compareTo(str2));
  }
}

출력:

Output:
-----------------Using == Operator ----------------
Str1 And Str2 Equal
-----------------Using .equal Method----------------
Str1 And Str2 Equal
Str1 and Str3 are equals
-----------------Using Compare Method----------------
0