我有一个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());
}
}
答案 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)
使用Integer.parseInt()方法。
http://www.java2s.com/Code/Java/Language-Basics/Convertstringtoint.htm
答案 5 :(得分:0)
如果你知道你有一个字符串的arraylist但是在你的中你会使用相同的列表作为整数列表,所以更好的初始化数组列表指定数组列表必须只插入int类型的数据
而不是编写ArrayList arr = new ArrayList();
你可以写ArrayList<Integer> arr = new ArrayList<Integer>();
如果要将该列表转换为Integer 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));
}