Double.valueOf(line.split(",")[1])
私はよく知っていると遭遇したコードに出くわしました。私の問題は、文の意味Double.valueOf()
を理解することです。[1]
ドキュメントを検索しても何も見つかりませんでした。
while ((line = reader.readLine()) != null)
double crtValue = Double.valueOf(line.split(",")[1]);
line
yourがコンマで区切られた数値の文字列であることを意味します。
例えば:"12.34,45.0,67.1"
は文字列のline.split(",")
配列を返します。
例えば:{"12.34","45.0","67.1"}
line.split(",")[1]
配列の2 番目(インデックスが 0 から始まるため) の項目を返します。
例えば:45.0
ジャワpublic String[] split(String regex)
指定された正規表現の一致に基づいてこの文字列を分割します。
これ
戻り値:この文字列を指定された正規表現の一致で分割することによって計算された文字列の配列
したがって、[1]
は で見つかった配列の 2 番目の項目を取得しString[]
ます。
これは、実際には数値である where でline
始まる文字列であることを意味します。a,b
b
crtValue
のdouble
値ですb
。
double
コードは から 2 番目の値を取得しようとしますreader.readLine()
。
String numbers = "1.21,2.13,3.56,4.0,5";
String[] array = numbers.split(",");
入力行をコンマで分割しますString second = array[1];
配列から 2 番目の要素を取得します。Java 配列の記数法は0
インデックスから始まります。double crtValue = Double.valueOf(second);
String
に変換double
NumberFormatException
文字列に parseable が含まれていない場合にスローされる可能性があることを忘れないでくださいdouble
。