재귀 함수를 처음 사용 해보는데
s = stringBuilder.toString().toCharArray(); 부분에서 받아오는 stringBuilder을 s에 넣으면 s의 주소 값이 변경이 됩니다. 혹시 변경 안도ㅑ서 할 수 있는 방법이 있을까요?
public class Reverse_String {
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder();
char[] s = {'h','e','l','l','o'};
System.out.println("===>" + s.toString());
System.out.println("==========" +Arrays.toString(s));
hello(s.length , s, stringBuilder);
s = stringBuilder.toString().toCharArray();
System.out.println(s.toString());
}
public static char[] hello(int sLen, char[] sChar, StringBuilder stringBuilder) {
if(sLen == 0) {
sChar = String.valueOf(stringBuilder).toCharArray();
System.out.println(sChar);
return sChar;
} else {
stringBuilder.append(String.valueOf(sChar[sLen -1]));
hello(sLen -1, sChar, stringBuilder);
}
return null;
}
}