본문 바로가기
Java

문자열 비교

by 스니펫 2023. 10. 2.

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