gpt4 book ai didi

java - 尝试将列表转换为数组时出错 []

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:16 24 4
gpt4 key购买 nike

我引用了 this试图将我的列表转换为数组,但我似乎无法让它工作。这是我所拥有的:

    int values[] = Arrays.asList(str.replaceAll("[^-?0-9]+", " ").trim().split(" ")).toArray();

我收到的错误(类型不匹配)表明我应该将 values[] 的类型从 int 更改为 object

最终结果应该只是一个数字数组。示例:a-9000xyz89 将是一个以 [-9000, 89] 作为值的数组

最佳答案

String#split 将返回 String[]而不是 int[] .您必须遍历 String[]并创建 int[] .此外,您不需要将数组转换为列表 Arrays.asList .

例如,

String str = "1 2 3 4";
String arr[] = str.split(" ");
int[] ans = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
ans[i] = Integer.parseInt(arr[i]);
}
System.out.println(Arrays.toString(ans));

输出

[1, 2, 3, 4]

编辑

I am getting the same error when I remove the toArray() and when I change values[] to a String[]. String values[] =
Arrays.asList(question.replaceAll("[^-?0-9]+", " ").trim().split("
"));

请注意 Arrays.asList在你的情况下将返回 List<String>但是 values 的类型是String[] .

您可以直接存储 split 的结果在值(value)观上,

String values[] = question.replaceAll("[^-?0-9]+", " ").trim().split(" ");

关于java - 尝试将列表转换为数组时出错 [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34540013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com