
문자열을 비교하는데,
C++처럼 ==로 문자열 비교를 했더니
조건식에 걸리지를 않았다.
equals를 썼더니 조건식에 걸려서 알아보았다.
String의 특징
- int, char은 주소값을 가지지 않는다. (Call by Value)
- String은 클래스이며, 객체 생성 시 주소값이 부여된다. (Call by Reference)
차이
equals
==
Plus
문자열 생성 방법 1 : 리터럴
String str = "test";
- string constant pool 영역에 존재
- 내부적으로 String의 intern() 메서드 호출
- intern() 메서드는 문자열이 string constant pool에 존재하면 주소값 반환, 없으면 새로 만들어 넣고 주소값 반환
문자열 생성 방법 2 : new 연산자
String str = new String("test");