강잇
강이의 개발블로그
강잇
전체 방문자
오늘
어제
  • 분류 전체보기 (102)
    • Langauge (32)
      • Java-basic (29)
      • Java (3)
    • SpringBoot (7)
    • Algorithm (5)
      • BAEKJOON (5)
    • WEB (7)
      • HTML & CSS (7)
    • DB (1)
      • MySQL (1)
    • OS (17)
      • Mac (2)
      • Linux (4)
      • Terminal Command (11)
    • Computer Science (7)
      • Hard ware (1)
      • Database (1)
      • Data structure (2)
      • Algorithm (2)
      • Network (1)
    • Git (5)
      • 개념 (1)
      • 활용 (1)
      • Trouble Shooting (2)
    • ETC. (13)
      • Install (6)
      • IntelliJ (1)
      • Eclipse (2)
      • Error (3)
      • Tip (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • 알고리즘 공부
  • CSS 박스 크기 설정
  • CSS 속성
  • 백준
  • 메소드
  • til
  • 메서드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
강잇

강이의 개발블로그

[Java] 문자형 배열을 문자열로 변환 (CharArray to String)
Langauge/Java

[Java] 문자형 배열을 문자열로 변환 (CharArray to String)

2022. 8. 8. 16:09

String() 생성자를 이용한 방법 - String()

  • 문자형 배열을 String() 생성자의 인자로 전달하여 문자열 타입을 얻을 수 있다.
  • String 생성자를 이용하기 때문에 String 타입의 참조 변수를 선언해야 한다.

코드

public class Main {
    public static void main(String[] args) {
        // 문자열으로 변환할 문자형 배열 = Hello Java
        char[] charArr = new char[]{'H','e','l','l','o',' ','J','a','v','a'};
        
        // String()생성자를 이용하여 문자열로 변환
        String str = new String(charArr);

        // 결과 출력 비교
        System.out.println("변환 전(문자형 배열) : " + Arrays.toString(charArr));
        System.out.println("변환 후(문자열) : " + str.toString());
    }
}

출력 결과

메서드를 이용한 방법 - String.copyValueOf(char[] arr) - String

  • Java.lang.String 클래스의 String.copyValueOf() 메서드를 이용해 문자형 배열을 문자열로 변환할 수 있다.
  • String.copyValueOf(char[] arr) 메서드는 인자로 받은 문자형 배열을 문자열로 반환해주는 메서드
  • 따라서 반환되는 값을 담을 String 타입의 참조 변수가 필요하다.

코드

public class Main {
    public static void main(String[] args) {
        // 문자열으로 변환할 문자형 배열 = Hello Java
        char[] charArr = new char[]{'H','e','l','l','o',' ','J','a','v','a'};

        // String.copyValueOf(char[] data)를 이용하여 문자열로 변환
        String str = String.copyValueOf(charArr);

        // 결과 출력 비교
        System.out.println("변환 전(문자형 배열) : " + Arrays.toString(charArr));
        System.out.println("변환 후(문자열) : " + str.toString());
    }
}

출력 결과

메서드를 이용한 방법 - String.valueOf(char[] data) - String

  • Java.lang.String 클래스의 String.valueOf() 메서드를 이용해 문자형 배열을 문자열로 변환할 수 있다.
  • String.valueOf(char[] data) 메서드는 인자로 받은 문자형 배열을 문자열로 반환해주는 메서드
  • 따라서 반환되는 값을 담을 String 타입의 참조 변수가 필요하다.

코드

public class Test {
    public static void main(String[] args) {
        // 문자열으로 변환할 문자형 배열 = Hello Java
        char[] charArr = new char[]{'H','e','l','l','o',' ','J','a','v','a'};

        // String.valueOf(char[] data)를 이용하여 문자열로 변환
        String str = String.valueOf(charArr);

        // 결과 출력 비교
        System.out.println("변환 전(문자형 배열) : " + Arrays.toString(charArr));
        System.out.println("변환 후(문자열) : " + str.toString());
    }
}

출력 결과

반복문을 이용한 방법 - for 문, for - each 문, while 문

  • 반복문을 이용하여 문자형 배열을 문자열로 변환할 수 있다.
  • String 타입은 불변이므로 문자형을 추가하기에는 적합하지 않아 문자를 담을 변수로 StringBuilder 타입으로 선언함.
  • 반복문을 통해 배열의 0번째 인덱스부터 끝까지 반복하여 배열의 값들을 StringBuilder에 추가한다.

코드

public class Main {
    public static void main(String[] args) {
        // 문자열으로 변환할 문자형 배열 = Hello Java
        char[] charArr = new char[]{'H','e','l','l','o',' ','J','a','v','a'};

        // 문자형 타입을 담기 위해 StringBuilder 타입의 sb 생성
        StringBuilder sb = new StringBuilder();

        // for - Each 문으로 차례대로 sb에 추가함.
        for (char chr: charArr){
            sb.append(chr);
        }

        // 결과 출력 비교
        System.out.println("변환 전(문자형 배열) : " + Arrays.toString(charArr));
        System.out.println("변환 후(문자열) : " + sb.toString());
    }
}

출력 결과

String.valueOf(char[] data) vs String.copyValueOf(char [] data) 차이점

작성하다가 갑자기 둘의 차이가 뭘까 궁금해서 찾아본 바로는 둘의 차이점은 많은 사람들이 최신 버전 Java 기준으로 없다고 한다..

편한 걸로 사용하면 될 듯 하다..


Reference

https://stackoverflow.com/questions/48134493/java-valueof-vs-copyvalueof

 

Java: valueOf vs copyValueOf

What is the difference between valueOf and copyValueOf. I looked on GrepCode, only to find that both return the exact same thing. copyValueOf: Parameters: data the character array. Retur...

stackoverflow.com

 

저작자표시 (새창열림)

'Langauge > Java' 카테고리의 다른 글

[Java] 문자열 문자열 배열로 변환(String to StringArray)  (0) 2022.08.09
[Java] 문자열을 문자형 배열로 변환 (String to CharArray)  (0) 2022.08.08
    'Langauge/Java' 카테고리의 다른 글
    • [Java] 문자열 문자열 배열로 변환(String to StringArray)
    • [Java] 문자열을 문자형 배열로 변환 (String to CharArray)
    강잇
    강잇
    학습한 내용을 정리 및 기록하는 블로그

    티스토리툴바