String 클래스의 인스턴스 생성
String str = new String("abc"); // 일반적인 인스턴스 생성 방법과 차이가 없음
String str = "abc"; // 보편적인 생성 방법
두 가지 방법의 차이점
문자열 비교
- == 연산자 : 비교하고자 하는 대상의 주소값(참조값)을 비교
- equals 메소드 : 비교하고자 하는 대상의 값 자체를 비교
String str1 = "abc";
String str2 = "abc";
if(str1 == str2)
System.out.println("동일 인스턴스를 참조함");
if(str1.equals(str2))
System.out.println("내용이 동일함");
String str3 = new String("abc");
String str4 = new String("abc");
if(str3 == str4)
System.out.println("다른 인스턴스를 참조하기 때문에 출력되지 않음"); // 출력 X
if(str3.equals(str4))
System.out.println("내용이 동일함");
if(str1 == str3)
System.out.println("다른 인스턴스를 참조하기 때문에 출력되지 않음"); // 출력 X
if(str1.equals(str3))
System.out.println("내용이 동일함");
A inst1 = new A();
A inst2 = inst1; // 두 참조변수는 동일 인스턴스 참조
System.out.println(inst1 == inst2); // 같은 인스턴스 참조하므로 true 출력
'Java' 카테고리의 다른 글
컬렉션 (0) | 2023.10.20 |
---|---|
연산자, for 문, 배열과 String 메소드 (0) | 2023.10.19 |
래퍼 클래스, 참조형 변수, 형 변환 (0) | 2023.10.17 |
JVM, Java 실행 과정, 변수 (1) | 2023.10.13 |
프로그래머스) 문자열 정렬하기 (1) | 2023.09.28 |