FireDrago

[java] new String (char []) 이 가능한 원리는 뭘까? 본문

궁금증 해결

[java] new String (char []) 이 가능한 원리는 뭘까?

화이용 2023. 5. 29. 20:09

자바에서 String 객체를 생성할 때 생성자의 인자값으로 문자(char)의 배열을 인자값으로 할 수 있다.

 

그래서 JDK 내부의 String 클래스를 찾아봤다.

1
2
3
4
5
6
7
8
9
10
public final class String {
 
    private final char value[];
 
    public String(char[] value) {
        this.value = Arrays.copyOf(value, value.length);
    }
 
    // ...
}
cs

 

Java.lang.String 클래스에서 String 클래스는 내부에 value 라는 이름의 문자배열에 자신의 String 값을 저장한다.

 

new String ( ) 생성자에 다른 문자배열을 인자값으로 넘기면 , 배열복사를 통해 value 필드에 저장하는 방식으로

 

String 객체를 생성한다.