将数组列表项转换为整数

时间:2011-07-01 13:29:12

标签: java

我有一个arraylist,说arr。现在这个arraylist将数字存储为字符串。现在我想将这个arraylist转换为整数类型。那我怎么能这样做?

ArrayList arr = new ArrayList();

String a="Mode set - In Service", b="Mode set - Out of Service";

if(line.contains(a) || line.contains(b)) {
    StringTokenizer st = new StringTokenizer(line, ":Mode set - Out of Service In Service");
    while(st.hasMoreTokens()) {
      arr.add(st.nextToken());  
    }
}

6 个答案:

答案 0 :(得分:5)

由于您使用的是无类型列表arr,因此在执行parseInt之前需要强制转换为String:

List<Integer> arrayOfInts = new ArrayList<Integer>();
for (Object str : arr) {
   arrayOfInts.add(Integer.parseInt((String)str));
}

我建议您按如下方式定义arr

List<String> arr = new ArrayList<String>();

这使得转换中的演员阵容变得不必要。

答案 1 :(得分:2)

运行以下代码,我希望它符合您的要求。

<p runat="server" id="p1"></p>

输出:

import java.util.*;
import java.lang.*;
import java.io.*;


class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        ArrayList<String> strArrayList= new ArrayList<String>();
            strArrayList.add("1");
            strArrayList.add("11");
            strArrayList.add("111");
            strArrayList.add("12343");
            strArrayList.add("18475");
        int[] ArrayRes = new int[strArrayList.size()];

        int i = 0;
        int x = 0;
        for (String s : strArrayList)
        {

            ArrayRes[i] = Integer.parseInt(s);
            System.out.println(ArrayRes[i]);
            i++;
        }

    }
}

答案 2 :(得分:1)

要转换为整数数组,您将输入为字符串数组,然后遍历每个数组并将其更改为int。

    public int[] convertStringArraytoIntArray(String[] sarray) throws Exception {
if (sarray != null) {
//new int for each string
int intarray[] = new int[sarray.length];
//for each int blah blah to array length i
for (int i = 0; i < sarray.length; i++) {
intarray[i] = Integer.parseInt(sarray[i]);
}
return intarray;
}
return null;
}

答案 3 :(得分:1)

final List<String> strs = new ArrayList();

strs.add("1");
strs.add("2");

Integer[] ints = new Integer[strs.size()];

for (int i = 0; i<strs.size(); i++){
    ints[i] = Integer.parseInt(strs.get(i));
}

答案 4 :(得分:0)

答案 5 :(得分:0)

如果你知道你有一个字符串的arraylist但是在你的中你会使用相同的列表作为整数列表,所以更好的初始化数组列表指定数组列表必须只插入int类型的数据

而不是编写ArrayList arr = new ArrayList(); 你可以写ArrayList<Integer> arr = new ArrayList<Integer>();

替代解决方案

如果要将该列表转换为Integer ArrayList,请使用以下代码

如何将String ArrayList转换为int

的ArrayList
ArrayList<String> oldList = new ArrayList<String>();
        oldList.add(""+5);
        oldList.add(""+5);    
ArrayList<Integer> newList = new ArrayList<Integer>(oldList.size());
            for (String myInt : oldList) { 

              newList.add(Integer.parseInt(myInt)); 
            }