Java Entspricht der iif-Funktion

8

Die Frage ist einfach, es gibt ein funktionales Äquivalent des berühmten iif in Java?

Zum Beispiel:

%Vor%

Vielen Dank im Voraus.

    
seba123neo 13.01.2011, 20:36
quelle

4 Antworten

20
%Vor%

oder in diesem speziellen Fall könnte man natürlich einfach

schreiben %Vor%     
Adrian Smith 13.01.2011, 20:38
quelle
5

Ja, das ternäre op ? :

%Vor%     
sblundy 13.01.2011 20:38
quelle
3

Der Hauptunterschied zwischen dem ternären Java-Operator und IIf besteht darin, dass IIf den zurückgegebenen Wert und den nicht zurückgegebenen Wert sowohl als auch den ternären Operator auswertet und nur den zurückgegebenen Wert auswertet . Wenn es Nebenwirkungen bei der Auswertung gibt, sind die beiden nicht gleichwertig.

Sie können natürlich IIf als statische Java-Methode neu implementieren. In diesem Fall werden beide Parameter zum Zeitpunkt des Anrufs ausgewertet, genau wie bei IIf . Aber es gibt kein integriertes Java-Sprachfeature, das genau mit IIf übereinstimmt.

%Vor%

(Beachten Sie, dass die ifTrue und ifFalse Argumente müssen in Java vom selben Typ sein müssen, entweder mit dem ternären Operator oder mit dieser generischen Alternative.)

    
dkarp 13.01.2011 20:43
quelle
2

if ist dasselbe wie das logische iff.

%Vor%

oder

%Vor%

oder

%Vor%

EDIT: Allerdings ist es sehr wahrscheinlich, dass Sie keine Variable benötigen, sondern Sie können auf das Ergebnis reagieren. z.B.

%Vor%

Übrigens kann es als gute Praxis angesehen werden,

zu verwenden %Vor%

Der Unterschied ist, dass vData null ist, das erste Beispiel wird eine Ausnahme auslösen, während die zweite falsch ist. Sie sollten sich fragen, welche würden Sie bevorzugen.

    
Peter Lawrey 13.01.2011 20:39
quelle