Als «java-8» getaggte Fragen

Verwenden Sie dieses Tag für Fragen zu Java 8, Version 8 (interne Nummer 1.8) der Java-Plattform, die am 18. März 2014 veröffentlicht wurde. In den meisten Fällen sollten Sie auch das Java-Tag angeben.

6
Filtern Sie Werte nur, wenn nicht null, mit Lambda in Java8
Ich habe eine Liste von Objekten sagen car. Ich möchte diese Liste basierend auf einigen Parametern mit Java 8 filtern. Wenn der Parameter jedoch lautet null, wird er ausgelöst NullPointerException. Wie filtere ich Nullwerte heraus? Der aktuelle Code lautet wie folgt requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); Dies wirft, NullPointerExceptionwenn getName()zurückgegeben …

4
Ist es möglich, einen Stream in Java 8 zu übertragen?
Ist es möglich, einen Stream in Java 8 zu übertragen? Angenommen, ich habe eine Liste von Objekten. Ich kann so etwas tun, um alle zusätzlichen Objekte herauszufiltern: Stream.of(objects).filter(c -> c instanceof Client) Wenn ich danach etwas mit den Kunden machen möchte, muss ich jeden von ihnen besetzen: Stream.of(objects).filter(c -> c …
160 java  java-8  java-stream 

5
Wie serialisiere ich ein Lambda?
Wie kann ich ein Lambda elegant serialisieren? Der folgende Code löst beispielsweise a aus NotSerializableException. Wie kann ich das Problem beheben, ohne eine SerializableRunnable"Dummy" -Schnittstelle zu erstellen? public static void main(String[] args) throws Exception { File file = Files.createTempFile("lambda", "ser").toFile(); try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) { Runnable r …

6
Kann ein Java Lambda mehr als einen Parameter haben?
Ist es in Java möglich, dass ein Lambda mehrere verschiedene Typen akzeptiert? Dh: Einzelne Variable funktioniert: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs funktionieren auch: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) …
156 java  lambda  java-8 



10
Wofür werden in Java 8 funktionale Schnittstellen verwendet?
In Java 8 bin ich auf einen neuen Begriff gestoßen: "Funktionsschnittstelle". Ich konnte nur eine Verwendung finden, während ich mit Lambda-Ausdrücken arbeitete . Java 8 bietet einige integrierte Funktionsschnittstellen. Wenn wir eine Funktionsschnittstelle definieren möchten, können wir die @FunctionalInterfaceAnmerkung verwenden. Damit können wir nur eine einzige Methode in der Schnittstelle …
154 java  lambda  interface  java-8 

26
Java 8 Stream umgekehrte Reihenfolge
Allgemeine Frage: Was ist der richtige Weg, um einen Stream umzukehren? Angenommen, wir wissen nicht, aus welcher Art von Elementen dieser Stream besteht, wie kann ein Stream generisch umgekehrt werden? Spezifische Frage: IntStreamBietet eine Bereichsmethode zum Generieren von Ganzzahlen in einem bestimmten Bereich IntStream.range(-range, 0). Jetzt, da ich den Umkehrbereich …

9
LocalDateTime kann beim Parsen von LocalDateTime (Java 8) nicht von TemporalAccessor abgerufen werden.
Ich versuche einfach, eine Datumszeichenfolge in ein DateTime-Objekt in Java 8 zu konvertieren. Beim Ausführen der folgenden Zeilen: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDateTime dt = LocalDateTime.parse("20140218", formatter); Ich erhalte folgende Fehlermeldung: Exception in thread "main" java.time.format.DateTimeParseException: Text '20140218' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved …

14
Zippen von Streams mit JDK8 mit Lambda (java.util.stream.Streams.zip)
In JDK 8 mit Lambda b93 gab es in b93 eine Klasse java.util.stream.Streams.zip, mit der Streams komprimiert werden konnten (dies wird im Tutorial Exploring Java8 Lambdas. Teil 1 von Dhananjay Nene veranschaulicht ). Diese Funktion: Erstellt einen faulen und sequentiellen kombinierten Stream, dessen Elemente das Ergebnis der Kombination der Elemente …

2
Wie kann die Reihenfolge der Verarbeitung in Java8-Streams sichergestellt werden?
Ich möchte Listen in einem XMLJava-Objekt verarbeiten. Ich muss sicherstellen, dass alle Elemente verarbeitet werden, damit ich sie erhalten habe. Soll ich deshalb sequentialjeden anrufen, den streamich benutze? list.stream().sequential().filter().forEach() Oder reicht es aus, nur den Stream zu verwenden, solange ich keine Parallelität verwende? list.stream().filter().forEach()
148 java  java-8  java-stream 

10
Können Sie einen Stream in zwei Streams aufteilen?
Ich habe einen Datensatz, der durch einen Java 8-Stream dargestellt wird: Stream<T> stream = ...; Ich kann sehen, wie man es filtert, um eine zufällige Teilmenge zu erhalten - zum Beispiel Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Ich …
146 java  java-8  java-stream 


4
Grundlegendes zu Spliterator, Collector und Stream in Java 8
Ich habe Probleme, die StreamSchnittstelle in Java 8 zu verstehen , insbesondere dort, wo sie mit den Schnittstellen Spliteratorund zu tun hat Collector. Mein Problem ist, dass ich Spliteratordie CollectorSchnittstellen einfach noch nicht verstehen kann und die Schnittstelle daher Streamfür mich immer noch etwas dunkel ist. Was genau ist a …

4
Wie werden Funktionstypen für void (nicht Void) Methoden in Java8 angegeben?
Ich spiele mit Java 8 herum, um herauszufinden, wie es als erstklassige Bürger funktioniert. Ich habe das folgende Snippet: package test; import java.util.*; import java.util.function.*; public class Test { public static void myForEach(List<Integer> list, Function<Integer, Void> myFunction) { list.forEach(functionToBlock(myFunction)); } public static void displayInt(Integer i) { System.out.println(i); } public static …
143 java  java-8 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.