Java 문자열이 변경되지 않는 이유는 무엇입니까? 내가 String name = "Paul";
이상 name = "Henry";
로 이름 변경 값을 말할 수 있습니다. 불변성은 어디서 오는가?Java 문자열은 변경 불가능합니다?
답변
개체 자체는 변경되지 않았습니다. 당신이 무슨 짓을
이 변경되지되었습니다 다음
name <- String("Paul")
name <- String("Henry")
문자열 ("폴")입니다.
는 다음과 같은 시도 :
String a = "test";
String b = a;
a = "test2";
System.out.println(b);
새로운 문자열을 생성, 그들은 확실히 불변 BTW 구금 있습니다.
당신은이 작업을 수행 할 수 없습니다 문자열 becuase
String name = "Paul"; // in effect the same as new String("Paul");
name.setValue("Henry")
는 불변 당신은 완전히 새로운 객체를 생성해야합니다.
어떻게 이름이 객체이며 그 값이 "Henry"로 변경 되었습니까? –
@PaulOdero :'name'은 (는) 객체가 아닙니다. 'name'은 (String) 객체에 대한 참조입니다. 처음에는''Paul "'객체에 대한 참조이고, 나중에 그 참조가''Henry ''객체를 가리 키도록 변경합니다. ''Paul "'객체는 변경되지 않기 때문에 변경되지 않습니다. – jlordo
@jlordo "Paul" ""Henry "'모두 문자열 풀에 존재합니까? 그래서 "name"이 "Paul"을 가리키고 "Henry"는' –
String을 참조하는 변수 : name과이 변수가 참조하는 String을 구별합니다.
원래 이름은 "Paul"이라는 문자열을 가리키고 나중에 다른 곳을 가리 키도록 변경했습니다. "Paul"자체는 영향을받지 않았습니다.
는
이제 참조 NAME1 무엇String name = "Paul";
String name1 = name;
name = "Peter";
을 고려?
- 1. C# IEnumerator는 변경 불가능합니다
- 2. 변경 문자열은
- 3. Delphi 문자열은 변경 불가능합니까?
- 4. 변경 문자열은 오브젝티브 C에
- 5. 모두 비어 있습니다. 변경 불가능합니다. 목록이 동일합니다.
- 6. PHP DOMElement는 변경 불가능합니다. = '수정 불가능 오류'
- 7. Java 문자열은 문자와 점만 포함해야합니다
- 8. 우분투에서의 적절한 업데이트가 불가능합니다.
- 9. Java EE 6 Java Messaging Service 불가능합니다. NullPointerException
- 10. ListBoxItem 콘텐츠 캐스트 불가능합니다
- 11. 문자열은
- 12. 문자열은
- 13. 불변의 Java 문자열은 어떻게 보안을 강화합니까?
- 14. Java 내부의 String 이외의 불변 개체는 무엇입니까?
- 15. WithEvents LinkedList는 불가능합니다?
- 16. Eclipse에서 디버깅이 불가능합니다.
- 17. EF에서 Automapper는 불가능합니다?
- 18. Github에 푸시 불가능합니다.
- 19. Ghostscript에 쓰기가 불가능합니다.
- 20. C# Generics에서 이것이 불가능합니다?
- 21. TS 0.9.5의 window.onerror는 불가능합니다. :)
- 22. gitolite broken : 당기기가 불가능합니다.
- 23. 아마도보기가 불가능합니다. 너무 복잡합니다.
- 24. Django에서 파일 업로드가 불가능합니다.
- 25. BitVector 작업이 불가능합니다.
- 26. int의 이진 이동이 불가능합니다.
- 27. 백엔드 로그인이 불가능합니다.
- 28. 네이티브 디버그가 불가능합니다.
- 29. 문자열은 "th ??"로 변환됩니다.
- 30. 이 문자열은 왜 불변입니까?
이전 문자열 개체를 변경하지 않고, 대신 'name'에 새 개체를 할당합니다. –
다섯 가지 좋은 이유 : [왜 문자열은 Java에서 불변이거나 최종입니까?] (http://javarevisited.blogspot.in/2010/10/why-string-is-immutable-in-java.html) –
http : // stackoverflow .com/questions/1552301/immutability-of-strings-in-java –