Java/Short 개발
[Java/Short] 문자열 배열 <-> 정수 배열 변환 방법
adjh54
2023. 3. 29. 23:08
반응형
해당 글에서는 문자열 배열, 정수 배열 간의 캐스팅(형 변환) 방법에 대해서 이해합니다.
1) 문자열 배열을 정수 배열로 캐스팅(String[] → int[])
1. for문을 이용한 캐스팅 : Integer.parseInt()
💡 배열을 순회하면서 Integer.parseInt()로 캐스팅을 하여서 문자열을 정수형으로 변환하고 새로운 정수형 배열을 구성합니다.
String[] stringArray = {"1", "2", "3", "4", "5"};
int[] intArray = new int[stringArray.length];
for(int i = 0; i < stringArray.length; i++){
intArray[i] = Integer.parseInt(stringArray[i]);
}
// print the new integer array
for(int i = 0; i < intArray.length; i++){
System.out.print(intArray[i] + " ");
}
[ 더 알아보기 ]
💡 캐스팅(Casting)이란?
- 변수나 상수의 데이터 타입을 다른 데이터 타입으로 변환하는 것을 의미합니다. 캐스팅에는 명시적 캐스팅과 암시적 캐스팅 두가지 유형이 있습니다.
💡 명시적 캐스팅(Explicit Casting)이란?
- 큰 데이터 타입을 작은 데이터 타입으로 변환하거나, 객체를 하위 클래스로 캐스팅할 때 사용됩니다.
- ex) long → int : 데이터 손실 우려가 있음
💡 암시적 캐스팅(Implicit casting) 이란?
- 작은 데이터 타입을 큰 데이터 타입으로 변환할 때 사용됩니다.
- ex) int → long
2. Stream을 이용한 캐스팅 : stream().mapToInt()
💡 Stream API를 이용하여서 변경하는 방법입니다. Arrays.stream() 메서드를 사용하여 문자열 배열을 스트림으로 변환하고 mapToInt() 메서드를 사용하여 각 문자열 요소를 정수형으로 변환합니다. 이를 통해 toArray() 메서드를 사용하여 새로운 정수형 배열을 생성합니다.
String[] stringArray = {"1", "2", "3", "4", "5"};
int[] intArray = Arrays.stream(stringArray)
.mapToInt(Integer::parseInt)
.toArray();
// print the new integer array
for(int i = 0; i < intArray.length; i++){
System.out.print(intArray[i] + " ");
}
2) 정수 배열을 문자열 배열로 변환 방법(int[] → String[])
1. for문을 이용한 캐스팅 : Integer.toString()
💡 배열을 순회하면서 Integer.toString()로 캐스팅을 하여서 정수형을 문자열로 변환하고 새로운 문자열 배열을 구성합니다.
int[] intArray = {1, 2, 3, 4, 5};
String[] stringArray = new String[intArray.length];
for(int i = 0; i < intArray.length; i++){
stringArray[i] = Integer.toString(intArray[i]);
}
// print the new string array
for(int i = 0; i < stringArray.length; i++){
System.out.print(stringArray[i] + " ");
}
2. Stream을 이용한 캐스팅 : stream().mapToObj()
💡 Stream API를 이용하여 변경하는 방법입니다. Arrays.stream() 메서드를 사용하여 정수형 배열을 문스트림으로 변환하고 mapToObj() 메서드를 사용하여 각 정수형 요소를 문자열으로 변환합니다. 이를 통해 toArray() 메서드를 사용하여 새로운 문자열 배열을 생성합니다.
int[] intArray = {1, 2, 3, 4, 5};
String[] stringArray = Arrays.stream(intArray)
.mapToObj(String::valueOf)
.toArray(String[]::new);
// print the new string array
for(int i = 0; i < stringArray.length; i++){
System.out.print(stringArray[i] + " ");
}
오늘도 감사합니다. 😀
반응형