java.lang 패키지에 포함된 클래스로서 문자열을 나타낸다.
스트링 리터럴과 new String()
스트링 리터럴 : 자바 내부에서 리터럴 테이블로 특별히 관리하여, 동일한 리터럴을 공유 시킨다.
new String() : new를 이용하여 생성되는 다른 객체와 동일하게 힙 메모리에 생성된다.
String s = new String("Hello");
String t = s.concat("java");
String 객체 비교
여기서 문자열을 비교할 떄 "== 연산자"를 사용하면 안된다.
예를 들어 위 사진의 d==e에서 false값이 리턴 될 것이다. 그 이유는 d와 e는 서로 다른 힙 메모리를 가르키기 때문에 서로의 메모리가 다르다. 그렇기 때문에 equals 메소드를 사용하면 =>d.equals(e) 메모리 공간안의 내용이 같은지 비교하기에 true가 나올 것이다.
String 주요 메서드