我列了一个清单:
List<String> list = new ArrayList<String>();
String someData = "1234";
list.add(someData);
有没有办法将someData
转换为int
或double
?我之所以成为String
的原因是我必须从Scanner
输入一些信息(使用循环)。他们中的大多数是String
。现在我需要很少一些是int-like因为我想做一些数学运算。
答案 0 :(得分:4)
使用:
int i = Integer.parseInt(someData);
我真的没看到List与它有什么关系?如果你想要一个整数列表,你可以使用:
List<Integer> list = new ArrayList<Integer>();
String someData = "1234";
list.add(Integer.parseInt(someData));
同样适用于:List<Double>
和Double.parseDouble()
。
请注意,parseInt()
可以抛出NumberFormatException
。要么确保不是这种情况,要么用try-catch处理它。
答案 1 :(得分:2)
您可以按照其他答案的建议进行操作,也可以更改在原点扫描数据的方式:
List<Integer> list = new ArrayList<Integer>();
while (shouldScan) {
int value = scanner.nextInt();
list.add(value);
..
}
请注意,如果输入格式错误,您应该注意捕获InputMismatchException
异常。
如果您选择使用Integer.parseInt(string)
,则应该注意抓住NumberFormatException
。
答案 2 :(得分:0)
您也可以使用:
int flag=Integer.valueOf(someData);
如果您想将其存储在整数列表中,您只需使用:
List<Integer> list = new ArrayList<Integer>();
list.add(Integer.valueOf(someData));