2013-11-24 2 views
1

나는 나의 오래된 코드 리팩토링의 많은 일을했고 나는 두 가지 방법으로 문자열을 만든 것으로 나타났습니다 : -

첫 번째 방법은 새로운 연산자를 사용하여 :
두 줄 - 무엇이 더 좋습니까?

String stringA = new String ("String A");

두 번째 방법 - 문자 사용 :

String stringB = "String B"; 

사람이이 방법을 설명 할 수는 더 w이다 하이?

+2

이것은 가장 단순하고 깨끗하며 판독하기 쉬운 코드가 최상의 성능 코드 인 경우 중 하나입니다. 모든 새로운 코드에서 두 번째 방법을 사용하십시오. –

답변

7

짧은 설명 : 더 좋은 방법은 두 번째 문장입니다.

설명 :
Java에서는 문자열을 변경할 수 없습니다. 객체가 불변 인 경우 항상 객체를 재사용 할 수 있다는 사실과 관련하여,이 명령문은 실행될 때 항상 새로운 String 인스턴스를 불필요하게 생성하기 때문에 항상 첫 번째 구문을 사용하지 않아야합니다.

대신에 단일 String 인스턴스를 사용하고 개체가 재사용 될 것이므로 항상 두 번째 명령문을 사용해야합니다.

저는 Joshua Bloch의 Effective Java, Second Edition을 적극 권장합니다. 귀하의 질문에 대한 더 많은 정보와 여기에서 찾을 수있는 벤치 마크 결과 - Effective Java - Same method invocation time despite creating multiple instances.

사실이 도움이 되길 바랍니다.

+1

추천 +1, 좋은 책. – raffian

+0

명확한 설명과 유용한 링크는 Bosko에게 감사드립니다. 그게 날 많이 도와 줘. –

관련 문제