Что означает line.split(",")[1] [Java]?
Я наткнулся на код, где я столкнулся с Double.valueOf(line.split(",")[1])
Я знаком с Double.valueOf()
и моя проблема состоит в том, чтобы понять, что делает [1]
значит в предложении. Поисковые документы ничего не нашли.
while ((line = reader.readLine()) != null)
double crtValue = Double.valueOf(line.split(",")[1]);
4 ответа
Это означает, что ваш line
это строка чисел, разделенных запятыми.
например: "12.34,45.0,67.1"
line.split(",")
возвращает массив строк.
например: {"12.34","45.0","67.1"}
line.split(",")[1]
возвращает 2-й(потому что индексы начинаются с 0) элемент массива.
например: 45.0
Это значит line
это строка, начинающаяся с a,b
где b
на самом деле число.
crtValue
это double
ценность b
,
Джава public String[] split(String regex)
Разбивает эту строку вокруг совпадений заданного регулярного выражения.
Это
Возвращает: массив строк, вычисленный путем разбиения этой строки вокруг совпадений заданного регулярного выражения
Итак [1]
получает второй элемент массива, найденного в String[]
,
Ваш код пытается получить второе 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
это может быть брошено, если строка не содержит анализируемый double
,