Es gibt eine Möglichkeit, Array zu streamen: Arrays.stream(myArr)
, aber es macht Code ein bisschen schwer zu lesen. Gibt es irgendwelche Erweiterungen, wie Lombok, um dies zu vermeiden und auf myArr.stream()
oder noch besser auf myArr.filter(...)
oder myArr.forEach(...)
zu minimieren?Gibt es eine Autostream-Erweiterung für Array in Java?
1
A
Antwort
0
Sie können lombok verwenden, um eine extension method hinzuzufügen. Zum Beispiel (ungetestet):
@ExtensionMethod(java.util.Arrays.class)
public class Example {
String[] myArr = {"A", "B", "C"};
myArr.stream().forEach(System.out::println);
}
Sie können Ihre eigene forEach()
Erweiterungsmethode in der gleichen Art und Weise definieren.
4
Nicht sicher, warum Sie denken, Arrays.stream
ist nicht lesbar. Aber die andere Alternative ist Stream.of
. Zum Beispiel Stream.of(myarr)
Ist das akzeptabel?
Verwandte Themen
- 1. Gibt es eine Uhrzeitsynchronisierungslösung für Java?
- 2. Gibt es eine Java Annotation für Bugs?
- 3. Gibt es eine Datenbankmodellierungsbibliothek für Java?
- 4. Gibt es eine Online-IDE für Java?
- 5. Gibt es eine Konvention für Java-Ausnahmebedingungsnachrichten?
- 6. Gibt es eine Namenskonvention für Keystore (Java)
- 7. Gibt es eine Kodierungskonvention für eine "Zeilenregel" für Java?
- 8. Gibt es eine IndexSet- und eine Range-Klasse für Java?
- 9. Java: Gibt es eine Kartenfunktion?
- 10. Gibt es eine Arbeit für ungültige Oktalziffer in einem Array?
- 11. Gibt es eine Abkürzung für Array-Größe/Länge in C?
- 12. Gibt es eine IsAfter-Methode für temporäre in Java 8
- 13. Gibt es in Java eine eval() - Funktion?
- 14. Gibt es eine File.AppendAllText() in Java?
- 15. Gibt es eine Array_Intersect() Entsprechung in Java?
- 16. Gibt es eine Möglichkeit, mehrere Zeilen Text in einem Array-Element für Java zu haben?
- 17. Numpy: Gibt es eine Array-Größenbeschränkung?
- 18. Gibt es eine Maven-Abhängigkeit für Jmeter
- 19. Gibt es eine leichtere Alternative zum Array?
- 20. Feiertage - gibt es eine Java-Implementierung?
- 21. Gibt es eine ausgeklügelte Java WorkQueue API?
- 22. Gibt es eine Java-Konvention für Packaging Enums?
- 23. Gibt es eine sofort aufgerufene anonyme Funktion für Java?
- 24. Gibt es eine Java-Bibliothek für die Domain-Suche?
- 25. Gibt es eine Map-Implementierung mit Listenern für Java?
- 26. Gibt es eine Möglichkeit Aliase für Charset Namen Java hinzufügen
- 27. Gibt es eine Java-Bibliothek für die Erstellung von Thumbnails?
- 28. Gibt es eine Java-Bibliothek für die Zugriffskontrollliste?
- 29. Gibt es eine Java-Alternative zu Ploehs AutoFixture für .Net?
- 30. Gibt es eine gute Open-Source-abstrakte Lastenausgleichsbibliothek für Java?
Arrays.stream ist der richtige Mechanismus, um einen Stream aus einem Array zu erhalten. Die Array-Klasse ist eine Hilfsklasse für die Arbeit mit Arrays. Wenn Sie dies nicht mögen, vermeiden Sie Arrays und verwenden Sie die Java Collections API. java.util.Collection enthält 'stream()' –
Nicht in Java. Sicher, du kannst etwas anderes (wie Lombok) ... aber dann verwendest du kein echtes Java. –
Lesbarkeit liegt nicht in den Augen des Autors, sondern ein Leser mit frischen Augen. 'Arrays.stream()' hat tatsächlich eine Bedeutung in Java, und die Spezifikation von 'Arrays.stream()' ist leicht verfügbar (wenn dem Leser nicht bereits bekannt). Während affe-patches eine 'stream() 'Methode auf Arrays über einen extralinguistischen Mechanismus (wie Lombok) bedeutet, dass Ihr Leser _ihr ganzes Programm_ lesen muss, bevor er verstehen kann, was dieses einfache Code-Snippet tut. –