ich einen Artikel aus einer slashdot Geschichte verbunden war zu lesen, und kam in diesen kleinen Leckerbissen:Java "?" Operator zum Überprüfen der Null - Was ist das? (Nicht Ternary!)
Nehmen Sie die neueste Version von Java, die versucht Null-Pointer-Überprüfung leichter zu machen, indem bietet Kurzschrift-Syntax für die Endlos-Zeiger-Tests. gerade hinzufügen, ein Fragezeichen zu jeder Methode Aufruf automatisch einen Test für Null-Zeiger enthält, ein Rattennest von if-then-Anweisungen ersetzt, so wie:
public String getPostcode(Person person) { String ans= null; if (person != null) { Name nm= person.getName(); if (nm!= null) { ans= nm.getPostcode(); } } return ans }
mit diesem:
public String getFirstName(Person person) { return person?.getName()?.getGivenName(); }
Ich habe das Internet durchforstet (okay, ich verbrachte mindestens 15 Minuten Googlen Variationen über "Java Fragezeichen") und bekam nichts. Also, meine Frage: Gibt es eine offizielle Dokumentation? Ich habe festgestellt, dass C# einen ähnlichen Operator hat (den Operator "??"), aber ich möchte die Dokumentation für die Sprache, in der ich arbeite, erhalten. Oder ist das nur eine Verwendung des ternären Operators, den ich habe noch nie vorher gesehen.
Danke!
EDIT: Link zum Artikel: http://infoworld.com/d/developer-world/12-programming-mistakes-avoid-292
Könnten wir einen Link zu dem Artikel zumindest? –
Und die Quelle des Snippets? – khachik
Der Artikel ist falsch. http://infoworld.com/print/145292 Ich glaube, dass eine Projekt Coin Einreichung dafür eingereicht wurde. Aber es wurde nicht ausgewählt (aus Gründen in dem Artikel erwähnt - wenn Sie so etwas tun möchten, verwenden Sie C# oder etwas), und ist sicherlich nicht in der aktuellen Version der Java-Sprache. –