Javaでintアレイをstringアレイに変換します
この投稿では、Javaでプリミティブ整数アレイを文字列アレイに変換する方法について説明します。
1.素朴な解決策
単純な解決策は、文字列型のアレイを作成し、通常のforループを使用して、intを文字列に変換した後、プリミティブ整数アレイから値を割り当てることです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.Arrays; class Main { //Javaでプリミティブ整数アレイを文字列アレイに変換するプログラム public static void main(String[] args) { //プリミティブ整数アレイを入力します int[] intArray = { 1, 2, 3, 4 ,5 }; String[] strArray = new String[intArray.length]; for (int i = 0; i < intArray.length; i++) { strArray[i] = String.valueOf(intArray[i]); } System.out.println(Arrays.toString(strArray)); } } |
出力:
[1, 2, 3, 4, 5]
2.Java8の使用
もう1つの解決策は、Java 8 Streamを使用して、プリミティブ整数アレイを文字列アレイに変換することです。
- 指定されたプリミティブアレイをに変換します
IntStream
を使用してArrays.stream()
またIntStream.of()
方法。 - を使用して、ストリームの各要素を文字列に変換します
IntStream.mapToObj()
方法。 - を使用して、このストリームの要素を含む文字列アレイを返します
Stream.toArray()
.
次のプログラムはそれを示しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.Arrays; class Main { //Java8以降でプリミティブ整数アレイを文字列アレイに変換するプログラム public static void main(String[] args) { //プリミティブ整数アレイを入力します int[] intArray = { 1, 2, 3, 4, 5 }; String[] strArray = Arrays.stream(intArray) .mapToObj(String::valueOf) .toArray(String[]::new); System.out.println(Arrays.toString(strArray)); } } |
出力:
[1, 2, 3, 4, 5]
3.正規表現の使用
このアプローチはお勧めしません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.Arrays; class Main { //Javaでプリミティブ整数アレイを文字列アレイに変換するプログラム public static void main(String[] args) { int[] intArray = { 1, 2, 3, 4 ,5 }; String str = Arrays.toString(intArray) // [1, 2, 3, 4, 5] .replaceAll("\\s+", ""); // [1,2,3,4,5] String[] strArray = str.substring(1, str.length() - 1) // 1,2,3,4,5 .split(","); System.out.println(Arrays.toString(strArray)); } } |
出力:
[1, 2, 3, 4, 5]
これで、Javaでintアレイをstringアレイに変換することができます。