Notice
Recent Posts
Recent Comments
Link
빵 좋아하는 개발자🥐
[Java 자바] 문자배열을 문자열로 출력하기(Char[] -> String) / String.valueOf( )와 Arrays.toString( )의 차이 본문
Programming/JAVA
[Java 자바] 문자배열을 문자열로 출력하기(Char[] -> String) / String.valueOf( )와 Arrays.toString( )의 차이
꼬ㄴi 2023. 8. 18. 14:03🚀 정리 계기
- 배열 요소의 값만 확인하는 목적으로 Arrays.toString( ) 메소드를 이용한 문자열 형변환을 해왔음
- 형변환 후, 인덱싱이 필요한 상황이었음 👉 습관처럼 형변환 후, 인덱스를 찾았는데 예상과 다른 값이 return됨
- 문자열 변환도 메소드에 따라 "형태" 가 다른 걸 알게 됨
🚋 Arrays.toString( )
- java.util.Arrays 클래스의 메서드
- 문자열로 변환할 때, 배열 모양 그대로 나온다
- 따라서 배열의 요소를 한 눈에 확인 가능
char[] arr = {'0', '1', '2', '3'};
System.out.println(Arrays.toString(arr));
출력 👉 [0, 1, 2, 3]
배열의 요소뿐 아니라 [ 와 , 도 문자열의 요소로 들어간다.
0번~11번, 총 12개의 문자로 구성되어 있는 문자열임을 알 수 있다
🚋 String.valueOf( )
- java.lang.String 클래스 메서드
- 요소값들이 나열된 형태의 문자열
char[] arrNum = {'0', '1', '2', '3'};
System.out.println(String.valueOf(arrNum));
출력 👉 0123
Arrays.toString( )과 달리 오로지 배열의 요소들만 뽑아서 나열한다.
❔두 메서드 비교해보기
- 두 메서드를 사용해 각각 문자열로 변환한 후,
문자열의 길이 / '3' 문자가 처음 나오는 인덱스를 비교해본다.
char[] arrX = {0, 1, 3, 3};
char[] arrY = {0, 1, 3, 3};
X = Arrays.toString(arrX); // X = [0, 1, 3, 3]
Y = String.valueOf(arrY); // Y = 0133
# indexOf ( '문자', n )
: 인덱스 찾는 메서드. n번 인덱스 이후에 '문자'가 처음 나오는 인덱스를 return
System.out.println(X.indexOf('3', 2));
System.out.println(Y.indexOf('3', 2));
X 출력 👉 7
Y 출력 👉 2
# length( )
: 문자열 길이를 return
System.out.println(X.length());
System.out.println(Y.length());
X 출력 👉 12
Y 출력 👉 4
'Programming > JAVA' 카테고리의 다른 글
[Java 자바] 열거형 상수(enum)의 기본 사용법 (0) | 2023.09.30 |
---|---|
[Java 자바] 생성자(Construnctor) 의미와 사용법 (0) | 2023.09.13 |
[Java 자바] LocalDate, LocalTime, LocalDateTime 사용법 (0) | 2023.08.13 |
[Java 자바] Calendar로 날짜와 시간 다루기 (현재 날짜 구하기/날짜 설정하기) (0) | 2023.08.12 |
[Java 자바] 현재 날짜와 시간 알아내기, 원하는 형식으로 출력하기 (Date, SimpleDateFormat 클래스) (0) | 2023.08.12 |