Аргументы функции Guava

Очевидно, что следующее работает, но мне не нравится оборачивать элементы в Tuple,

    ImmutableMap<String, Function<Tuple2<Double>, Double>> op = new //
    ImmutableMap.Builder<String, Function<Tuple2<Double>, Double>>()
            .put("+", new Function<Tuple2<Double>, Double>() {
                @Override public Double apply(Tuple2<Double> data) {
                    return data.Val_1 + data.Val_2;
                }
            }).build();
    System.out.println(op.get("+").apply(new Tuple2<Double>(3d, 4d)));

Я хочу написать что-то вроде:

    ImmutableMap<String, Function<Double[], Double>> op = new //
    ImmutableMap.Builder<String, Function<Double[], Double>>()
            .put("+", new Function<Double[], Double>() {
                @Override
                public Double apply(Double... data) {
                    return data[0] + data[1];
                }
            }).build();
    System.out.println(op.get("+").apply(3d, 4d));

Помощь была бы наиболее полезной, ty.

Изменить: Проблема решена, начал использовать:

public interface T2Function<T> {
    T apply(T Val_1, T Val_2);
}
9
задан Margus 28 October 2010 в 00:55
поделиться