2017-10-31 1 views
-3

다음은 String의 일부 생성자를 호출하며 이는 "Hello"을 받아 String의 인스턴스를 반환합니까?`String s = "Hello"``String`의 생성자를 호출합니까?

또는 일부 비공개 방법으로 을 String 인스턴스로 암시 적으로 변환합니까?

String s = "Hello"; 

감사합니다.

+0

https://docs.oracle.com/javase/specs/jls/se8/html/jls-3 :

String s = "Hi"; 

은 동일합니다 .html # jls-3.10.5 – bcsb1001

답변

-1

예. String 생성자를 호출합니다.

char data[] = {'H', 'i'}; 
String str = new String(data); 

확인 String 클래스 참조 here

+2

사실이 아닙니다. 'String s = "Hi"'는'String' 객체가 생성되도록합니다. 그러나 그것은 미리 생성됩니다. 두 번째 코드 스 니펫은'String' 생성자를 호출하고 평가 될 때마다 새로운 객체를 생성하기 때문에 두 번째 코드 스 니펫과 동일하지 않습니다. https://stackoverflow.com/questions/3297867/difference-between-string-object-and-string-literal을 참조하십시오. – ajb

관련 문제