>  기사  >  Java  >  내 Java 문자열 `replace()` 메소드가 작동하지 않는 이유는 무엇입니까?

내 Java 문자열 `replace()` 메소드가 작동하지 않는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-19 21:59:03738검색

Why Does My Java String `replace()` Method Not Seem to Work?

Java 문자열 교체 메서드 실패 [중복]

특정 Java 구현에서는 교체() 메서드가 문자열 내의 특정 문자열을 적절하게 바꾸지 못하는 것으로 보고되었습니다. 주어진 문자열. 이 예외는 String 객체의 불변성으로 인해 발생합니다.

문제 코드 분석:

제공된 코드 조각에서:

< pre>
문자열 구분 기호 = "";
String html = "USERNAME AND PASSWORD";
지도 mp = new HashMap();
mp.put("USERNAME", "사용자 A");
mp.put("PASSWORD", "B");
for ( Entry 항목 : mp.entrySet()) {
html.replace(delimiter Entry.getKey() delimiter, Entry.getValue());
}

문제 설명:

Java의 replacement() 메소드는 원래 String 객체를 변경하지 않습니다. 대신 대체 항목이 적용된 새 문자열을 반환합니다. 이것이 논쟁의 핵심입니다. 원래 html 변수는 원래 문자열 값을 계속 유지합니다.

해결 방법:

이를 수정하려면 코드를 명시적으로 수정해야 합니다. replacement() 작업의 결과로 html 변수를 다시 할당합니다.

<br>html = html.replace(delimiterentry.getKey() delimiter,entry.getValue());<br>

결론:

replace()와 같은 메소드를 사용할 때는 String 객체의 불변성을 이해하는 것이 중요합니다. 반환된 String 객체를 원래 변수에 할당하면 의도한 대체가 적용됩니다.

위 내용은 내 Java 문자열 `replace()` 메소드가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.