将Arraylist <string>转换为ArrayList <integer>或整数数组</integer> </string>

时间:2011-10-10 04:59:30

标签: java type-conversion

我想创建一个需要将ArrayList<String>[]转换为ArrayList<Integer>[]的应用,我还使用了这个:

ArrayList<String>[] strArrayList;
int ArrayRes = (int) strArrayList[];

但是这段代码给我一个错误,有人可以帮帮我吗?

任何建议都会受到赞赏

5 个答案:

答案 0 :(得分:14)

定义一个方法,它将转换arraylist的所有String值     整数。

private ArrayList<Integer> getIntegerArray(ArrayList<String> stringArray) {
        ArrayList<Integer> result = new ArrayList<Integer>();
        for(String stringValue : stringArray) {
            try {
                //Convert String to Integer, and store it into integer array list.
                result.add(Integer.parseInt(stringValue));
            } catch(NumberFormatException nfe) {
               //System.out.println("Could not parse " + nfe);
                Log.w("NumberFormat", "Parsing failed! " + stringValue + " can not be an integer");
            } 
        }       
        return result;
    }

简单地调用该方法,如

ArrayList<Integer> resultList = getIntegerArray(strArrayList); //strArrayList is a collection of Strings as you defined.

快乐编码:)

答案 1 :(得分:5)

这个怎么样

   import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;

    public class sample7 
    {
        public static void main(String[] args)
        {

            ArrayList<String> strArrayList = new ArrayList<String>();
            strArrayList.add("1");
            strArrayList.add("11");
            strArrayList.add("111");
            strArrayList.add("12343");
            strArrayList.add("18475");
            List<Integer> newList = new ArrayList<Integer>(strArrayList.size()) ;
            for (String myInt : strArrayList) 
            { 
              newList.add(Integer.valueOf(myInt)); 
            }
            System.out.println(newList);
        }

    }

答案 2 :(得分:0)

您正在尝试将ArrayList对象数组转换为int。当然你会收到错误。

首先,您需要一个普通的ArrayList,而不是ArrayList的数组。

其次,您使用Integer.parseInt()String个对象转换为int个。 int是基本类型,而不是类类型,当然不是String的超类。

答案 3 :(得分:-1)

您可以将字符串列表转换为这样的整数:

ArrayList<Integer> numbers = new ArrayList<Integer>();

for(int i = 0; i < strArrayList.size(); i++) {
   numbers.add(Integer.parseInt(strArrayList.get(i)));   
}

答案 4 :(得分:-7)

列表上的迭代器并将它们解析为整数:

(警告:未经测试)

ArrayList<String> strArrayList;
int[] ArrayRes = new int[strArrayList.size()];

int i = 0;
for (String s : strArrayList)
{
    ArrayRes[i++] = Integer.parseInt(s);
}

然后,您可以根据您希望连接它们的方式将它们转换为单个int值。