繁体   English   中英

将ArrayList <String>转换为int []

[英]Converting ArrayList<String> to int[]

在我的代码中,我使用此代码将ArrayList<String>转换为int[]

ArrayList<String> oneList = new ArrayList<String>();

oneList.add("7");
oneList.add("525");
oneList.add("85");
oneList.add("365");
oneList.add("78");
oneList.add("1");

String[] stringArray = oneList.toArray(new String[oneList.size()]);

int[] arrayOfValues = new int[oneList.size()];  

for(int i = 0;i < stringArray.length;i++)
{   
    try
    {
        arrayOfValues[i] = Integer.parseInt(stringArray[i]);
    }
    catch(Exception e)
    {
        System.out.println("Not an integer value");
    }
}

这是完成此操作的最有效方法,还是应该采取不同的方式? 如果你有的话,我也会对我做的方式感兴趣。

更好地使用以下代码:

ArrayList<String> oneList = new ArrayList<String>();

oneList.add("7");
oneList.add("525");
oneList.add("85");
oneList.add("365");
oneList.add("78");
oneList.add("1");

int[] arrayOfValues = new int[oneList.size()];  
int i = 0;
for(String value: oneList)
{   
    try
    {
        arrayOfValues[i] = Integer.parseInt(value);
        i++;
    }
    catch(Exception e)
    {
        System.out.println("Not an integer value");
    }
}

在你的代码中:

1)您创建一个String []数组,但根本不需要。

2)为每个循环使用a比(int i ..)更好

3)如果你有异常,arrayOfValues有空元素,例如如果oneList = {“1”,“aaa”,“2”}则arrayOfValues = {1,0,2}。 但是,如果arrayOfValues = {1,2},有时会更好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM