2014-10-23 13 views
9

Frage: Gibt es eine Implementierung des Elvis-Operators geplant für eine zukünftige Java-Version? Oder gibt es eine Bibliothek, die es nach Java bringt?Null Check-in Java 8 Elvis-Operator?

Ich habe gelesen, dass

es für Java SE 7 vorgeschlagen wurde, aber es hat nicht in dieser Veröffentlichung

http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html

machen weiß, dass ich Java 8 ermöglicht diese

String name = computer.flatMap(Computer::getSoundcard) 
          .flatMap(Soundcard::getUSB) 
          .map(USB::getVersion) 
          .orElse("UNKNOWN"); 

aber ich es ist etwas zu viel für meinen Geschmack . SO, wenn jemand mich irgendein Projekt/Bibliothek zeigen könnte, die die Groovy like/C# ähnliche Syntax zu Java für Nullkontrollen bringen würde, würde sehr geschätzt werden.

Edit: von Elvis Operator meine ich dies:

String version = computer?.getSoundcard()?.getUSB()?.getVersion(); 

oder ähnliche

+4

[Optional] (http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html) ist Teil von Java 8, aber ich weiß nicht über den elvis-Operator – ooxi

+3

Um "?." ist nicht das, was Groovy den elvis-Operator nennt. Das wäre "?:". – mabi

+1

Operator "Sichere Navigation". Der Elvis-Operator ist ein verkürzter Ternär, bei dem das Ergebnis entweder der zu bearbeitende Gegenstand oder eine Alternative ist, wenn er null/falsch ist. –

Antwort

13

Nein, es gibt keine aktuelle oder zukünftige Pläne, um die Null-safe-Betreiber in Java zu überdenken.

+7

das ist traurig, aber danke für die Klärung – user73362

+0

Seit 23. Oktober 14 bis heute (Juni 2016) Gab es irgendwelche Überlegungen, es jetzt umzusetzen? –

+0

@SrujanBarai Nein. C# -Syntax gewinnt erneut. – Zaaier