Converting a StringBuilder To Integer Values In Java
问题很简单。假设有一个StringBuilder sb在这样的sb数字内:
"25 9631 12 1895413 1 234564"
如何一个接一个地得到这些数字,并将它们初始化为一个ArrayList list,或者更具体一些,这是可能的吗?谢谢检查!
- 谷歌为"Java中的拆分字符串"。然后谷歌进行"解析Java中的整数"。
- 只需通过toString()转换为字符串,然后拆分该字符串。作为许多类似文章的副本关闭。
- String string = new StringBuilder("25 9631 12 1895413 1 234564").toString(); String[] numbersStrings = string.split("\\s"); List list = new ArrayList<>(); for(String num : numbersStrings) { list.add(Integer.parseInt(num)); }
尝试将该字符串拆分为:
1 2 3 4
| String[] numbers = sb. toString(). split("");//if spaces are uneven, use \\s+ instead of""
for (String number : numbers ) {
list. add(Integer. valueOf(number ));
} |
- 谢谢你的回答。它起作用了。
- 嘿,多普勒,如果你正在研究一些巨大的东西,那么对于(字符串数字:数字),也称为foreach语句可能不是很好。尝试使用正则for循环,for(int i=0;i
- @这不是真的。当遍历数组时,扩展的for(这是每个for的正式名称)将自动扩展为与您的for循环类似的正则for循环。请看这里的语言规范和这个答案。
- @Morido好吧,我错过了那个部分,很高兴得到这个信息。谢谢)
我的解决方案可能不是最好的,
从您的问题中,我了解到的是,基本上您希望从字符串生成器中获取所有的数字,并将其放入整数数组中。
所以这里,
首先,您可能希望从字符串生成器中获取字符串。
1
| String myString = mystringbuilder. toString(); |
此字符串现在包含带空格的数字。
现在使用以下内容,
1
| String[] stringIntegers = myString. split(""); //"" is a delimiter , a space in your case |
此字符串数组现在包含从0开始的位置处的整数。
现在,您可能想要获取这个字符串数组并解析它的值,并将其放入一个arraylist中。
就是这样做的,
1 2 3 4
| ArrayList <Integer > myIntegers = new ArrayList <Integer >();
for(int i = 0; i <stringIntegers. length;i ++){
myIntegers. add(Integer. parseInt(stringIntegers [i ]));
} |
现在,您的myintegers数组列表中填充了所需的整数,让我为您将其分解。
为整数创建一个数组。
有一个for循环循环遍历字符串数组
在字符串数组的每个位置的for循环中,您将该位置的字符串转换为整数。parseint(string);
然后,将它添加到我们创建的数组列表中。
完整代码:
1 2 3 4 5 6
| String mynumbers = stringBuilder. toString();
String[] stringIntegers = mynumbers. split("");
ArrayList <Integer > myIntegers = new ArrayList <Integer >();
for(int i =0;i <stringIntegers. length;i ++){
myIntegers. add(Integer. parseInt(stringIntegers [i ]));
} |