[Java] 문자열 비교와 객체 생성 차이
반응형
문자열 비교와 객체 생성 차이(Java)
문자열 비교 예제
- 문자열을 비교한다:
package JavaApp.chap_03; public class StringComparisonExample { public static void main(String[] args) { // 문자열 비교 String s1 = "Java"; String s2 = "Python"; System.out.println(s1.equals(s2)); // 문자열 내용이 같으면 true, 다르면 false System.out.println(s1.equals("Java")); // true System.out.println(s2.equals("python")); // false // 대소문자 구분 없이 문자열 내용이 같은지 여부를 확인한다 System.out.println(s2.equalsIgnoreCase("python")); // true } }
- 문자열 비교를 심화한다:
public class StringDeepComparisonExample { public static void main(String[] args) { // 문자열 비교 심화 String s1 = "1234"; // 벽에 붙은 메모지의 비밀번호 정보 String s2 = "1234"; System.out.println(s1.equals(s2)); // true System.out.println(s1 == s2); // true s1 = new String("1234"); s2 = new String("1234"); System.out.println(s1 == s2); // false System.out.println(s1.equals(s2)); // true } }
new String() 객체 생성 시 차이점
- == 연산자는 두 객체가 동일한 메모리 주소를 참조하고 있는지를 비교한다. 예제에서 new String("1234")로 생성한 두 문자열은 서로 다른 메모리 주소를 참조하므로 == 비교에서는 false가 반환된다.
- equals() 메서드는 두 문자열의 내용이 동일한지를 비교한다. 따라서 new String("1234")로 생성한 문자열이라도 내용이 같으면 equals() 비교에서는 true가 반환된다.
반응형
'낙서장[1] > 91. Java' 카테고리의 다른 글
[Java] 주민등록번호 앞자리 출력하기 (1) | 2025.01.29 |
---|---|
[Java] 자바의 이스케이프 시퀀스(Escape Sequence) 사용법 (1) | 2025.01.29 |
[Java] 문자열 조작(Java) 기본 예제 2 (0) | 2025.01.29 |
[Java] 문자열 조작(Java) 기본 예제 (0) | 2025.01.29 |
[Java] 삼항 연산자와 조건문 활용하기 (0) | 2025.01.29 |