String to Integer数组转换

时间:2012-09-20 07:41:18

标签: java

我需要将值添加到int数组中。

    int[] placeHolders[];

现在我不知道要添加到此数组中的元素的大小。我输入时添加它。我想知道如何将我的字符串输出值重复转换为int数组。

输入:23.45.1.34

我正在使用字符串标记。得到代币

Value = Integer.parseInt(strtokObject.nextElement().toString());

我使用上面的行将int添加到单个int值但是如果我需要将int元素添加到数组就像push in vector(C ++ STL)一样,我无法做到。

5 个答案:

答案 0 :(得分:5)

String str = "23.45.1.34";
String sarr = str.split("\\.");
int[] result = new int[sarr.length];
for (int i = 0;  i < sarr.length;  i++) {
    result[i] = Integer.parseInt(s);
}

答案 1 :(得分:2)

如果您不知道要存储在数组中的数据集的大小,则应使用java.util.List<E>的实现,例如ArrayList

ArrayList<Integer> placeHolderList = new ArrayList<Integer>();
int value = Integer.parseInt(strtokObject.nextElement().toString());
placeHolderList.add(value); // adds the int to the underlying array

然后,如果需要,您可以使用List#toArray将列表转换为数组。

答案 2 :(得分:2)

我使用myString.split("\\.")返回String[],创建相等大小int[],然后将每个String解析为int而不是使用tokenizer。你也可以通过计算字符串中的'。'来知道placeHolders的大小(例如,myString.replaceAll("[^\\.]", "").length())(显然在该数字上加一个)。

答案 3 :(得分:1)

我假设你的输入字符串是input

所以你可以这样做:

String[] inputStrs = input.split("\\.");

//Do a while loop
placeholder[i] = Integer.ParseIne(inputStrs[i]);

答案 4 :(得分:0)

您可以使用与c ++中的vector类似的ArrayList<Integer>。 使用aList.add(num);

添加到它

如果你想要一个数组,最后可以使用toArray方法。

Integer[] arr = aList.toArray(new Integer[0]);