String character replacement in Java

String str = "1-3-2";
//str[2] = '2'; //<-Error

StringBuilder sb = new StringBuilder(str);
sb.setCharAt(2, '2');
sb.setCharAt(4, '3');
str = sb.toString();
//str is "1-2-3"