文字列からdouble値を解析すると仮定します。ここで
はあなたが必要と何をすべきコードスニペット、次のとおりです。
private static <S, T> void distributeValues(S[] sourceParts, Function<S, T> transformFunction, List<T> ... targetParts) {
for (int i = 0; i < sourceParts.length; i++) {
S part = sourceParts[i];
targetParts[i].add(transformFunction.apply(part));
}
}
そのメソッドの呼び出しは次のようになります。リストされ、
distributeValues(line.split(";"),
s -> Double.valueOf(s.replace(",", ".")),
part1, part2, part3, part4);
あなたが自由に選択できます。この道をあなたは移入したい。そのようなものが必要な場合はpart1, part2, part1, part2
と指定することもできます。
サンプルメイン方法:
public static void main(String[] args) {
String line = "10,23;190,33;86,423;132,45";
List<Double> part1 = new ArrayList<>();
List<Double> part2 = new ArrayList<>();
List<Double> part3 = new ArrayList<>();
List<Double> part4 = new ArrayList<>();
distributeValues(line.split(";"), s -> Double.valueOf(s.replace(",", ".")), part1, part2, part3, part4);
System.out.println("part1 = " + part1);
System.out.println("part2 = " + part2);
System.out.println("part3 = " + part3);
System.out.println("part4 = " + part4);
}
印刷:
part1 = [10.23]
part2 = [190.33]
part3 = [86.423]
part4 = [132.45]
なぜ '文字列[] RES = line.splitを使用しませんか( ";");'?あなたが最後に取得する必要があるか分からない。 –
本当にこのために複数のArrayListが必要ですか? –
私が言っていることは次の通りです: 'ArrayList part1.add(" 10,23 ");'私の目コンパイラを渡すことはできません...しかし、あなたは例を作っていると知っています。 .....間違っている..... –
Kent