2016-08-03 11 views
0

Ich habe einen Java 8-Code unter Verwendung von ifPresent, ich möchte in der gleichen Bedingung zu verwenden oderElseThrow chatSessionStore.get(group) Gibt bereits ein optionales Objekt.Wie kann ich oderElseThrow mit ifPresent unter Verwendung von Java 8 in derselben Bedingung zurückgeben?

@Override 
public void forwardMessageGroup(String group, ChatMessage message) { 

    chatSessionStore.get(group).ifPresent(chatProxy -> chatProxy.sendMessage(message)); 

} 

Irgendwelche Tipps?

+0

Nein, nur die Methode nachrichts aufrufen und wenn die Liste Ergebnisse nicht hat, wird das System eine Ausnahme zurück. –

Antwort

3

Ich denke, was Sie wollen, ist einfach:

chatSessionStore.get(group).orElseThrow(
    () -> new RuntimeException("No group") 
).sendMessage(message);