문자열의 특정 인덱스의 문자를 바꾸고 싶습니다.


문자열에서 특정 인덱스의 문자를 바꾸려고

소스코드

String myName = "domanokz";
myName.charAt(4) = 'x';

이런식으로 해봤는데 에러가 발생합니다. 다른 메소드가 있는건가요?

  • 2016년 02월 07일에 작성됨

조회수 187


1 답변


좋아요
0
싫어요
채택취소하기

자바에서 문자열은 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);

이렇게 하셔도 됩니다.

  • 2016년 02월 07일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close