在我的代码中,我使用此代码将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");
}
}
这是完成此操作的最有效方法吗?还是我应该采取不同的方式?如果你有的话,我也会对我的方式感兴趣。
答案 0 :(得分:4)
更好地使用以下代码:
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有空元素,例如if oneList = {“1”,“aaa”,“2”}然后arrayOfValues = {1,0,2}。但是,如果arrayOfValues = {1,2}
,有时会更好