>Java >java지도 시간 >불변 Java 문자열의 특정 인덱스에 있는 문자를 어떻게 바꿀 수 있습니까?

불변 Java 문자열의 특정 인덱스에 있는 문자를 어떻게 바꿀 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 09:47:19284검색

How Can I Replace a Character at a Specific Index in an Immutable Java String?

불변 문자열: 특정 인덱스에서 문자 교체

Java에서 문자열을 처리할 때 특정 인덱스에서 특정 문자를 교체해야 하는 경우가 있습니다. 그러나 변경 가능한 데이터 유형과 달리 Java의 문자열은 변경 불가능합니다. 즉, 직접 수정할 수 없습니다.

다음 코드 조각을 고려하세요.

String myName = "domanokz";
myName.charAt(4) = 'x'; // Throws an error

이 코드는 인덱스에서 문자를 수정하려고 시도합니다. myName 문자열에는 4가 포함되어 있지만 문자열은 변경할 수 없기 때문에 오류가 발생합니다.

해결책: 새 생성 문자열

이를 방지하려면 원하는 수정 사항을 적용하여 새 문자열을 만들어야 합니다. 이는 하위 문자열 방법을 사용하여 달성할 수 있습니다.

String myName = "domanokz";
String newName = myName.substring(0, 4) + 'x' + myName.substring(5);

하위 문자열 방법은 지정된 인덱스를 기반으로 원본 문자열에서 하위 문자열을 추출합니다. 이 경우 두 개의 하위 문자열을 생성합니다. 하나는 인덱스 0부터 인덱스 4(인덱스 4 제외)까지이고 다른 하나는 인덱스 5부터 문자열 끝까지입니다. 그런 다음 이러한 하위 문자열을 원하는 문자 'x'와 연결하여 새 문자열인 newName을 형성합니다.

대체 해결 방법: StringBuilder 사용

또는 다음을 허용하는 StringBuilder 클래스를 사용할 수 있습니다. 가변 문자열 표현 생성. 예는 다음과 같습니다.

StringBuilder myName = new StringBuilder("domanokz");
myName.setCharAt(4, 'x');

System.out.println(myName);

StringBuilder 클래스는 기본 문자열 표현을 수정할 수 있는 setCharAt와 같은 메서드를 제공합니다. 이 클래스를 사용하면 문자 교체가 필요할 때마다 새 문자열을 생성하는 것을 피할 수 있습니다. 수정이 완료되면 toString 메소드를 사용하여 결과 문자열을 얻을 수 있습니다.

위 내용은 불변 Java 문자열의 특정 인덱스에 있는 문자를 어떻게 바꿀 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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