我遇到了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,b
b
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
。