[英]String to Integer array conversion
我需要将值添加到int数组中。
int[] placeHolders[];
现在我不知道要添加到此数组中的元素的大小。 我在输入时将其添加。 我想知道如何将我的字符串输出值反复转换为int数组。
输入:23.45.1.34
我在上使用字符串标记化。 获得代币
Value = Integer.parseInt(strtokObject.nextElement().toString());
我正在上面的行中将int添加到单个int值,但是如果我需要将int元素添加到数组中,就像推入向量(C ++ STL)一样,我将无法执行。
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);
}
当您不知道要存储在数组中的数据集的大小时,应该使用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将列表转换为数组。
我将使用myString.split("\\\\.")
返回一个String[]
,创建一个相等大小的int[]
,然后将每个String解析为一个int而不是使用分词器。 您也可以通过计算字符串中的'。'来知道placeHolders
的大小(例如, myString.replaceAll("[^\\\\.]", "").length()
)(显然要在该数字上加上一个)。
我假设您的输入字符串是input
。
因此,您可以执行以下操作:
String[] inputStrs = input.split("\\.");
和
//Do a while loop
placeholder[i] = Integer.ParseIne(inputStrs[i]);
您可以使用ArrayList<Integer>
,它与c ++中的vector相似。 使用aList.add(num);
添加到它
如果需要数组,最后可以使用toArray
方法。
Integer[] arr = aList.toArray(new Integer[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.