首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中将字符串数组转换为整型数组

在java中将字符串数组转换为整型数组
EN

Stack Overflow用户
提问于 2011-07-30 14:08:16
回答 7查看 202.1K关注 0票数 44

我是java编程的新手。我的问题是,我有一个String数组,但当我试图将它转换为int数组时,我总是得到

代码语言:javascript
复制
java.lang.NumberFormatException

我的代码是

代码语言:javascript
复制
private void processLine(String[] strings) {
    Integer[] intarray=new Integer[strings.length];
    int i=0;
    for(String str:strings){
        intarray[i]=Integer.parseInt(str);//Exception in this line
        i++;
    }
}

任何帮助都将是伟大的感谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-07-31 07:16:08

为了去掉额外的空格,你可以像这样修改代码:

代码语言:javascript
复制
intarray[i]=Integer.parseInt(str.trim()); // No more Exception in this line
票数 22
EN

Stack Overflow用户

发布于 2011-07-31 07:21:34

为了帮助调试,并使您的代码更好,执行以下操作:

代码语言:javascript
复制
private void processLine(String[] strings) {
    Integer[] intarray=new Integer[strings.length];
    int i=0;
    for(String str:strings){
        try {
            intarray[i]=Integer.parseInt(str);
            i++;
        } catch (NumberFormatException e) {
            throw new IllegalArgumentException("Not a number: " + str + " at index " + i, e);
        }
    }
}

此外,从代码整洁的角度来看,您可以通过执行以下操作来减少代码行:

代码语言:javascript
复制
for (String str : strings)
    intarray[i++] = Integer.parseInt(str);
票数 12
EN

Stack Overflow用户

发布于 2018-10-12 15:39:54

另一种捷径:

代码语言:javascript
复制
int[] myIntArray = Arrays.stream(myStringArray).mapToInt(Integer::parseInt).toArray();
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6881458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档