Alternative if Schreibweise mit ?

Status
Nicht offen für weitere Antworten.
H

Hellas

Gast
Hallo,

hat mir jemand einen link zum üben bzw. kann mir jemand sagen wie man die alternative if Schreibweise nennt wenn man mit dem ?-zeichen abfragt?
 

ARadauer

Top Contributor
das ist der tertiäre operator

und das ist praktisch eine funktion die den entsprechenden if oder else wert zurück gibt

String test = (x==3)?"if wert":"else wert";
 

Der Müde Joe

Top Contributor
das heist ternärer Operator und geht so:

Bedingung ? Truecase : Falsecase;

und würd ich nicht benutzen...(rein aus lesbarkeit und sideeffects)

EDIT:
und noch ein link
siehe SlaterB....
 

ARadauer

Top Contributor
ah ternärer... ok

und zum thema nicht verwenden.

also, wir haben sowas

Code:
String ausgabe = (x.getName==null)?"":x.getName();
häufig in userem code, ich halte das nicht für unleserlich...
 
S

SlaterB

Gast
für 'häufig' ists aber zuviel,
da geht auch
String ausgabe = Helper.formatName(x,"");

;)
 

Der Müde Joe

Top Contributor
naja ich benutze es auch (sehr selten)....vor allem in genau solchen Util Dingen.
aber ist eben gefährlich..zB
Code:
public class X {

	public static void main(String[] args) {
		boolean b = true;
		Number number = b ? new Integer(3) : new Float(3);

		System.out.println(number);

		if (b) {
			number = new Integer(3);
		} else {
			number = new Float(3);
		}
		System.out.println(number);
	}
}
 

Marco13

Top Contributor
:shock: Ich hätte nicht gedacht, dass so ein Furzprogramm mich so puzzlen könnte :shock:
Was zum ... passiert da? Geht da irgendwas beim Autoboxing schief? ???:L

Zum eigentlichen Thema: Ich finde, man kann den ?:-Operator verwenden, wenn es "elegant" ist, und/oder damit deutlicher wird, was gemacht wird.
Code:
String s = null;
if (someBoolean) 
{
    s = "Jupp";
}
else 
{
    s = "Nö";
}
vs.
Code:
String s = someBoolean ?  "Jupp" : "Nö";
 

AlArenal

Top Contributor
Full ACK to Marco.

Wenn es superkurz und völlig eindeutig ist, kann man den ternären Opa benutzen. Für alle anderen Fälle trägt er nicht eben zur Übersichtlichkeit bei und ist demnach zu meiden.
 

Der Müde Joe

Top Contributor
Marco13 hat gesagt.:
:shock: Ich hätte nicht gedacht, dass so ein Furzprogramm mich so puzzlen könnte :shock:
Was zum ... passiert da? Geht da irgendwas beim Autoboxing schief? ???:L

ist per Definition so
Otherwise, binary numeric promotion (§5.6.2) is applied to the operand types, and the type of the conditional expression is the promoted type of the second and third operands. Note that binary numeric promotion performs unboxing conversion (§5.1.8) and value set conversion (§5.1.13).

von
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.25

EDIT:
ist übrigens von Java Puzzlers ;-)
(mit CharSequence: String und StringBuffer würds ohne Probleme hinhauen)
 
H

Hellas

Gast
um Codelesbarkeit zu erschweren wegen Reversing gut geeignet ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Gibt es mittlerweile eine Alternative zu DaisyDiff Allgemeine Java-Themen 2
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
W Alternative für Threads Allgemeine Java-Themen 6
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
J Suche Alternative zu Jasper Reports Allgemeine Java-Themen 4
M Suche Alternative zu JFreeChart Allgemeine Java-Themen 11
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
M DAOs veraltet - was ist die Alternative? Allgemeine Java-Themen 13
MiMa Array umbau oder Alternative? Allgemeine Java-Themen 5
C Alternative zu NetworkX in Java Allgemeine Java-Themen 1
M Alternative zur Serialisierung.. Protobuf? Allgemeine Java-Themen 9
B Alternative zu nebenläufigen Prozessen Allgemeine Java-Themen 4
BonoBoo Alternative zum endlosen Instanzieren Allgemeine Java-Themen 2
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
E Gewollte Endlosschleife unterbrechen oder Alternative gesucht Allgemeine Java-Themen 2
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
F alternative zu "JPEGImageDecoderImpl" Allgemeine Java-Themen 2
T Timer oder Alternative? Allgemeine Java-Themen 3
G Alternative zu .properties Dateien Allgemeine Java-Themen 20
S Alternative zu SortedMap? Allgemeine Java-Themen 8
H Alternative zu Stack Allgemeine Java-Themen 3
pikay Jar2Exe Alternative? Allgemeine Java-Themen 17
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
G suche Property alternative Allgemeine Java-Themen 4
H Wie schön oder unschön ist dieser code - alternative ? Allgemeine Java-Themen 5
E Viele if Abfragen auf viele Strings --> Alternative zu if Allgemeine Java-Themen 8
G libext Alternative? Allgemeine Java-Themen 5
S Alternative zu Robot (wegen Umlauten) Allgemeine Java-Themen 13
foobar Alternative zu JavaHelp gesucht Allgemeine Java-Themen 2
I Alternative zu getClass().getResourceAsStream() ? Allgemeine Java-Themen 9
D System.setProperty alternative Allgemeine Java-Themen 4
J alternative zu rsh ? Allgemeine Java-Themen 5
K KeyListener-Alternative ohne anfängliches Delay ? Allgemeine Java-Themen 5
G Alternative zu split() Allgemeine Java-Themen 3
K Alternative zu JNI Allgemeine Java-Themen 3
P Alternative zu replaceAll (jdk < 1.4) Allgemeine Java-Themen 14
M Alternative zu Thread : stop() ? Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben