문자열의 특정 인덱스의 문자를 바꾸고 싶습니다.
조회수 21665회
문자열에서 특정 인덱스의 문자를 바꾸려고
소스코드
String myName = "domanokz";
myName.charAt(4) = 'x';
이런식으로 해봤는데 에러가 발생합니다. 다른 메소드가 있는건가요?
1 답변
-
자바에서 문자열은 immutable이라 값을 바꿀수 없습니다. 그래서 문제를 해결하려면 특정 인덱스가 바뀐 새로운 문자열을 만들어서 대입하는 방법으로 하시면 될 것 같습니다.
String myName = "domanokz"; String newName = myName.substring(0,4)+'x'+myName.substring(5);
이런식으로 말이죠. 이게 싫으시다면 StringBuilder를 써서
StringBuilder myName = new StringBuilder("domanokz"); myName.setCharAt(4, 'x'); System.out.println(myName);
이렇게 하셔도 됩니다.
댓글 입력