Java에서 문자열을 생성할 때 new를 사용하지 않는 이유는 무엇입니까?
문자열은 실제로 Java의 객체이지만 문자열은 Java와 다르게 생성됩니다. 문자열 인터닝이라는 특별한 메커니즘으로 인해 다른 객체가 생성됩니다.
Java에서는 문자열 리터럴(큰따옴표로 묶음)은 자동으로 인터닝됩니다. 이는 동일한 문자열 리터럴에 대한 여러 참조가 메모리의 동일한 String 개체를 가리킨다는 의미입니다. 따라서 String 개체를 생성하기 위해 new를 사용하는 것은 중복되고 불필요합니다.
예:
String str1 = "Hello World"; String str2 = "Hello World";
여기서 str1과 str2는 겉보기에는 같지만 동일한 String 개체를 참조합니다. 별도로 생성되었습니다. 이는 JVM이 문자열 리터럴 "Hello World"를 인식하고 인턴된 String 객체를 검색하기 때문입니다.
이제 문자열 생성에 new를 사용하는 것이 권장되지 않는 이유를 살펴보겠습니다.
요약하면 Java의 문자열 인터닝은 문자열을 생성하기 위해 new를 사용할 필요가 없고, 효율성 이점을 제공하며, 문자열 리터럴로 작업할 때 일관된 동작을 보장합니다. .
위 내용은 Java에서 문자열을 생성하기 위해 'new'를 사용하지 말아야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!