杰瑞科技汇

Java如何将String转为int数组?

在Java中将String转换为int数组

在Java中,将String转换为int数组有几种常见方法,以下是几种实现方式:

Java如何将String转为int数组?-图1
(图片来源网络,侵删)

方法1:使用String.split()和Integer.parseInt()

public class StringToIntArray {
    public static void main(String[] args) {
        String str = "1,2,3,4,5";
        String[] strArray = str.split(","); // 按逗号分割字符串
        int[] intArray = new int[strArray.length];
        for (int i = 0; i < strArray.length; i++) {
            intArray[i] = Integer.parseInt(strArray[i].trim()); // 去除空格并转换
        }
        // 打印结果
        for (int num : intArray) {
            System.out.print(num + " ");
        }
    }
}

方法2:使用Java 8 Stream API

import java.util.Arrays;
import java.util.stream.Collectors;
public class StringToIntArray {
    public static void main(String[] args) {
        String str = "1 2 3 4 5"; // 空格分隔
        int[] intArray = Arrays.stream(str.split(" "))
                             .mapToInt(Integer::parseInt)
                             .toArray();
        // 打印结果
        Arrays.stream(intArray).forEach(num -> System.out.print(num + " "));
    }
}

方法3:处理包含方括号的字符串(如JSON格式)

import java.util.Arrays;
import java.util.stream.Collectors;
public class StringToIntArray {
    public static void main(String[] args) {
        String str = "[1, 2, 3, 4, 5]"; // 类似JSON的格式
        // 去掉方括号,然后分割
        String cleanStr = str.replaceAll("\\[|\\]", "");
        int[] intArray = Arrays.stream(cleanStr.split(","))
                             .mapToInt(Integer::parseInt)
                             .toArray();
        // 打印结果
        Arrays.stream(intArray).forEach(num -> System.out.print(num + " "));
    }
}

方法4:处理自定义分隔符

import java.util.Arrays;
public class StringToIntArray {
    public static void main(String[] args) {
        String str = "1;2;3;4;5"; // 分号分隔
        String[] parts = str.split(";");
        int[] intArray = new int[parts.length];
        for (int i = 0; i < parts.length; i++) {
            intArray[i] = Integer.parseInt(parts[i].trim());
        }
        // 打印结果
        System.out.println(Arrays.toString(intArray));
    }
}

注意事项

  1. 分隔符选择:根据你的字符串格式选择合适的分隔符(逗号、空格、分号等)
  2. 异常处理:如果字符串可能包含非数字内容,应该添加异常处理:
    try {
        int num = Integer.parseInt(str);
    } catch (NumberFormatException e) {
        System.err.println("无法解析: " + str);
    }
  3. 空格处理:使用trim()去除数字前后的空格
  4. 性能考虑:对于大字符串,Stream API可能比传统for循环慢,但代码更简洁

选择哪种方法取决于你的具体需求和输入字符串的格式。

Java如何将String转为int数组?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇