Ich habe Google Guava im Stream:
%Vor% Wie Sie sehen, gibt es in der Filterfunktion eine Anweisung !String.isNullOrEmpty(entity)
.
Ich möchte Guava nicht mehr im Projekt verwenden, also möchte ich es einfach ersetzen durch:
%Vor%Wie kann ich es eleganter machen?
Sie können Ihre eigene Klasse Strings
mit Ihrem eigenen Prädikat erstellen:
Dann in Ihrem Code:
%Vor% Aber wie @fge erwähnt, können Sie das nicht auf einem Map.Entry<?,?>
...
Sie können den Filter in zwei Schritte unterteilen:
%Vor% Nebenbei bemerkt, die meisten Map.Entry.toString()
Implementierungen machen genau das, was Sie in map()
tun, also könnten Sie theoretisch einfach map(Map.Entry::toString)
machen. Aber ich würde mich nicht darauf verlassen, es sei denn, Sie produzieren ein toString()
oder etwas, das kein dokumentiertes oder deterministisches Verhalten erfordert.
Ich weiß auch, dass du Guava aufgeben willst, aber hier ist eine Lösung, die dich dazu bringen könnte, es noch einmal zu überdenken:
%Vor%Tags und Links java java-8 guava java-stream