2016-07-11 21 views
0

Ich versuche forEach() Methode in Java 8.Mit forEach in Java 8

Mein Code wie folgt aussieht zu verwenden: Hier

String c = service.resolveName("Example").forEach((NameResolution c->{Implementation})); 

wird forEach Verfahren für ein List<String> nicht ausgeführt. Es ist für eine List<NameResolution> ausgeführt. Wenn ich nun versuche, obj von NameResolution zu iterieren, zeigt es immer noch die String Operation an.

Können wir forEach() für List s von nicht String Werten verwenden? Wenn ja, wie?

Antwort

3

Ja, können Sie, aber Sie sollten auf Ihre Lambda-Ausdruck beheben:

service.resolveName("Example").forEach((NameResolution c)->{...}); 

Diese service.resolveName("Example") unter der Annahme gibt eine List<NameResolution> (oder eine andere Collection<NameResolution>).

Beachten Sie, dass die forEach nichts zurückgibt.

+2

Oder schreiben Sie einfach '.forEach (c -> {...})' – Holger