Gibt es eine elegante Möglichkeit, ein Objekt, das in zwei verschachtelte Optionals eingepackt ist, auszupacken?

8

Betrachten Sie diese beiden Klassen

%Vor%

Die Implementierung der obigen Methoden ist für die Frage nicht wichtig, deshalb habe ich das aus Gründen der Einfachheit weggelassen.

Ich möchte das tun:

%Vor%

Dies funktioniert jedoch nicht, weil queue vom Typ Optional<queue> ist (der gleiche Typ wie von Queue::fromEmailAlias ), also habe ich stattdessen:

%Vor%

Art von hässlichem imho.

Ändern der Signatur von

%Vor%

bis

%Vor%

ist eine schnelle Lösung, aber das würde meinen Code auch an anderen Stellen betreffen, die Optional<Queue> benötigen.

Gibt es eine nette Möglichkeit, dieses geschachtelte Optional auszupacken?

    
Geir 14.08.2015, 10:26
quelle

1 Antwort

13

Sie müssen flatMap anwenden:

%Vor%     
Marko Topolnik 14.08.2015, 10:30
quelle

Tags und Links