한 가지 :자바에서 문자열과 메모리 할당? 나는이 같은 방법이 있다면 난 항상 궁금
String replaceStuff (String plainText) {
return plainText.replaceAll("&", "&");
}
는 새로운 문자열을 만듭니다는 "&"과 "&"는 GC에 의해 파괴됩니다 및 모든 시간을 객체 다음 전화로 다시 만들었습니까? 예. 이 이론에 내가이 아마 실제 문제보다 더 이론적 문제라고 생각이
final String A ="&";
final String AMP ="&";
String replaceStuff (String plainText) {
return plainText.replaceAll(A, AMP);
}
처럼 뭔가를 더 나은 것, 나는 메모리 관리는이 측면에서 처리하는 방법 그냥 궁금입니다.
'Object y = "hello"'는 보장되지만, "he"+ "llo"'에 대한 컴파일러 최적화도 보장됩니까? (나는 묻지 만, 도전하지 않는다 :-)) –
그 좋은 예입니다! – Vlad
@Sean : 또한 보장됩니다. JLS의 §3.10.5에있는 [이 부분] (http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#19369) : "문자열 리터럴 또는 더 일반적으로는 , 상수 표현 (§15.28)의 값인 문자열 - "interned"[...] " –