首页 > 解决方案 > 如何使用 valueOf 将字符串数组转换为 int 数组?

问题描述

我想将以下列表转换为 int 数组。我试过用valueof,但不知道怎么用。我不想解析它。

我在这里有一个字符串数组: String[] arr1 = new String[]{"5","5","15","5","10","10", "5", "10", "20", "15"};

这是我尝试过的代码:

int num = Integer.valueOf(arr1);

我收到一条错误消息:

error: no suitable method found for valueOf(String[])
    int num = Integer.valueOf(arr1);
                     ^
    method Integer.valueOf(String) is not applicable
      (argument mismatch; String[] cannot be converted to String)
    method Integer.valueOf(int) is not applicable
      (argument mismatch; String[] cannot be converted to int)
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error

标签: javaarrays

解决方案


我假设您想将arr1数组中的每个值映射到 an int,结果应该是 an int[](不是 one int)。流式传输数组,将元素映射到int,然后调用toArray。喜欢,

int[] numArr = Arrays.stream(arr1).mapToInt(Integer::valueOf).toArray();

请注意,valueOf以这种方式调用仍然是一个将 解析Stringint.


推荐阅读