我遇到了Double.valueOf(line.split(",")[1])
遇到的代码
我熟悉Double.valueOf()
,我的问题是要理解句子中[1]
的含义。搜索过的文档没有找到任何内容。
while ((line = reader.readLine()) != null)
double crtValue = Double.valueOf(line.split(",")[1]);
答案 0 :(得分:10)
这意味着您的line
是由逗号分隔的数字字符串
例如:"12.34,45.0,67.1"
line.split(",")
返回一个字符串数组
例如:{"12.34","45.0","67.1"}
line.split(",")[1]
返回 2nd (因为索引从0开始)数组项。
例如:45.0
答案 1 :(得分:3)
这意味着line
是一个以a,b
开头的字符串,其中b
实际上是一个数字。
crtValue
是double
的{{1}}值。
答案 2 :(得分:3)
Java public String[] split(String regex)
将此字符串拆分为给定正则表达式的匹配项。
它
返回: 字符串的数组,通过将此字符串拆分为给定正则表达式的匹配项来计算
因此[1]
获取String[]
中找到的数组的第二项。
答案 3 :(得分:2)
您的代码尝试从double
获取第二个reader.readLine()
值。
String numbers = "1.21,2.13,3.56,4.0,5";
String[] array = numbers.split(",");
通过commma分割输入行String second = array[1];
从数组中获取第二个元素。 Java数组编号从0
索引开始。double crtValue = Double.valueOf(second);
将String
转换为double
如果字符串不包含可解析的NumberFormatException
,请不要忘记可能引发的double
。