Wlsepf
120
2022-05-18 14:00:48
1
111

.toString().toCharArray()을 하면 주소 값이 변경 도ㅑ나요?


재귀 함수를 처음 사용 해보는데

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;
    }
}


0
  • 답변 1

  • kenu
    64k
    2022-05-18 14:09:44

    재귀함수 시작은 피보나치 수열인데, 알고는 계시죠.

    자바의 JVM 공부하시는 것 같아 보입니다.

    그리고 키보드 무슨 것을 쓰시는지 궁금합ㄴㅑ다.


  • 로그인을 하시면 답변을 등록할 수 있습니다.