我想创建一个需要将ArrayList<String>[]
转换为ArrayList<Integer>[]
的应用,我还使用了这个:
ArrayList<String>[] strArrayList;
int ArrayRes = (int) strArrayList[];
但是这段代码给我一个错误,有人可以帮帮我吗?
任何建议都会受到赞赏
答案 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值。