Guava-Funktionsargumente

8

Folgendes funktioniert offensichtlich, aber ich mag es nicht, Elemente in Tuple zu verpacken,

%Vor%

Ich möchte etwas schreiben wie:

%Vor%

Hilfe wäre am nützlichsten, ty.

Bearbeiten: Problem gelöst, begann mit:

%Vor%     
Margus 28.10.2010, 00:22
quelle

2 Antworten

14

Ich denke, dass es besser wäre, ein eigenes Interface zu verwenden, etwa so:

%Vor%

Guavas Function ist eine einzelne Argumentfunktion und nicht wirklich geeignet für irgendetwas Multi-Argument.

Eine andere Sache, mit der ich experimentiert habe, ist eine ReduceFunction<F, T> , die zufällig für so etwas geeignet ist. Es wird für die Operation reduce oder fold verwendet und sieht ungefähr so ​​aus:

%Vor%

Damit können Sie Dinge wie

tun %Vor%

wo MathOps.add() ein ReduceFunction<Double, Double> ist, das das Offensichtliche tut.

    
ColinD 28.10.2010, 00:33
quelle
3

Es sieht so aus, als ob Sie nach einer Entsprechung zu c # 's Func suchen: Spezialisiert auf Ihren Fall mit den args und Rückgabewert des gleichen Typs.

Es gibt zwei andere Fragen mit guten Antworten dazu ..

Wie einige andere Antworten andeuten, könnten Sie hier in der Mitte zwischen zwei Paradigmen stecken (OO und funktional), etwas, mit dem Sprachdesign wohl schneller aufholt als gute Praxis. Wenn Sie mit diesem trüben Wasser weitermachen möchten, können Sie functionaljava ausprobieren.

Siehe Objekt-orientierte und funktionale Programmierung mischen für weitere interessante Diskussionen.

    
Sam 03.11.2010 20:33
quelle

Tags und Links