728x90
반응형
String 객체를 표현하는 값은 char의 배열이다.
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
@Stable
private final byte[] value;
....
}
JVM과 컴파일러는 특정 상황에서 특별한 방법으로 String 객체를 처리한다.
참고) 2019/04/23 - [프로그래밍 노트/JAVA] - [JAVA] String 객체와 리터럴 (메모리관련)
String 객체 대부분은 원시 타입처럼 취급한다. 그러므로 String 리터럴을 생성할 때 new 키워드를 이용할 필요가 없다.
실제 컴파일할 때 String 리터럴("문자")은 String 객체로 생성된다.
@Test
public void stringCreation(){
String helloString1 = new String("Hello World!");
String helloString2 = "Hello World!";
assertEquals(helloString1, helloString2);
}
위의 두 객체는 같으며 같은 값으로 취급된다. 따옴표 안에 있는 값들의 리터럴을 String 객체로 생성한다.
728x90
반응형
'그 외 ... (정리해야함) > 질문과 답변' 카테고리의 다른 글
인터닝(Interning)이란 무엇인가? (0) | 2019.05.02 |
---|---|
String 객체의 값을 변경할 수 있는가? (0) | 2019.05.02 |
JAVA에서 다형성과 상속이란 무엇인가? (0) | 2019.05.02 |
메서드와 변수에 사용되는 static 키워드의 역할은 무엇인가? (0) | 2019.05.02 |
final 키워드는 객체 참조에 어떤 영향을 미치는가? (0) | 2019.05.02 |