line.split(",")[1] 是什么意思 [Java]?

What does line.split(",")[1] mean [Java]?

我在遇到 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(",") returns 一个字符串数组。
例如:{"12.34","45.0","67.1"}

line.split(",")[1] returns 数组的 第二个 (因为索引从 0 开始)项。
例如:45.0

您的代码尝试从 reader.readLine() 获取第二个 double 值。


  1. String numbers = "1.21,2.13,3.56,4.0,5";
  2. String[] array = numbers.split(","); 用逗号分割输入行
  3. String second = array[1]; 从数组中获取第二个元素。 Java 数组编号从 0 索引开始。
  4. double crtValue = Double.valueOf(second);String 转换为 double

不要忘记如果字符串不包含可解析的 double.

可能会抛出 NumberFormatException

表示line是以a,b开头的字符串,其中b实际上是一个数字。

crtValuebdouble 值。

Java public String[] split(String regex)

Splits this string around matches of the given regular expression.

Returns: the array of strings computed by splitting this string around matches of the given regular expression

因此 [1] 获取在 String[] 中找到的数组的第二项。