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