我遇到了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
爪哇public String[] split(String regex)
围绕给定正则表达式的匹配拆分此字符串。
它
返回:通过围绕给定正则表达式的匹配拆分此字符串计算的字符串数组
因此,[1]获取在 中找到的数组的第二项String[]。
这意味着是以where实际上是一个数字line开头的字符串。a,bb
crtValue是 的double值b。
您的代码尝试从中获取第二个double值reader.readLine()。
String numbers = "1.21,2.13,3.56,4.0,5";String[] array = numbers.split(",");用逗号分割输入行String second = array[1];从数组中获取第二个元素。Java 数组编号从0索引开始。double crtValue = Double.valueOf(second);转换String为double不要忘记NumberFormatException如果字符串不包含 parseable 可能会抛出double。