CS 지식
문자열 비교 주의사항
ImJay
2023. 12. 30. 16:42
반응형
주어진 코드에서는 두 개의 문자열을 생성하고, 이 문자열들 간의 동등성을 비교하고 있습니다. 코드와 실행 결과는 다음과 같습니다:
package org.opentutorials.javatutorials.compare;
public class EqualStringDemo {
public static void main(String[] args) {
String a = "Hello world";
String b = new String("Hello world");
System.out.println(a == b); // 참조 비교
System.out.println(a.equals(b)); // 값 비교
}
}
실행 결과와 해석:
- System.out.println(a == b);: 이 줄은 두 문자열의 참조를 비교하고 있습니다. a는 문자열 리터럴로 초기화되었고, b는 new String("Hello world")를 통해 명시적으로 객체를 생성했습니다. 이 경우, a와 b는 서로 다른 객체를 참조하고 있으므로 == 연산은 false를 출력합니다.
- System.out.println(a.equals(b));: 이 줄은 두 문자열의 내용을 비교하고 있습니다. equals 메서드는 문자열의 내용을 비교하므로, 문자열이 같다면 true를 출력합니다. 여기서는 문자열 내용이 "Hello world"로 같으므로 true를 출력합니다.
따라서 출력 결과는 다음과 같습니다:
false
true반응형