Suchergebnisse für Anfrage "java-8"

5 die antwort

Verwandeln Sie Java Future in eine CompletableFuture

Java 8 stellt vorCompletableFuture, eine neue Implementierung von Future, die komponierbar ist (enthält eine Reihe von thenXxx-Methoden). Ich möchte dies ausschließlich verwenden, aber viele der Bibliotheken, die ich verwenden möchte, geben nur ...

1 die antwort

Kompilierungsfehler mit generischen und ternären Operatoren in JDK 7

Beim Schreiben von Java-Code ist ein Kompilierungsfehler aufgetreten, der auf den folgenden Testfall zurückzuführen ist: import java.util.Collections; import java.util.List; public class TernaryFailure { public static List<String> thisWorks() { ...

4 die antwort

Rückkehr von Lambda für jeden () in Java

Ich versuche, einige for-each-Schleifen in Lambda zu ändernforEach()-Methoden, um die Möglichkeiten von Lambda-Ausdrücken zu entdecken. Folgendes scheint möglich zu sein: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player ...

TOP-Veröffentlichungen

3 die antwort

Lambda-Ausdruck und Methode überladen Zweifel

OK, Methodenüberladung ist also eine schlechte Sache. Nun, da dies erledigt ist, nehmen wir an, dass ich es tatsächlich tuewollen So überladen Sie eine Methode wie diese: static void run(Consumer<Integer> consumer) { ...

3 die antwort

Die Verwendung eines Semaphors in einer verschachtelten Java 8-Aktion für parallele Streams kann zu DEADLOCK führen. Ist das ein Bug?

Betrachten Sie die folgende Situation: Wir verwenden einen parallelen Java 8-Stream, um eine parallele forEach-Schleife auszuführen, z. IntStream.range(0,20).parallel().forEach(i -> { /* work done here */})Die Anzahl der parallelen Threads wird ...

2 die antwort

Ist die Iteration über Collections.synchronizedSet (…) .forEach () garantiert threadsicher?

Wie wir wissen, ist das Durchlaufen einer gleichzeitigen Sammlung standardmäßig nicht threadsicher, daher kann Folgendes nicht verwendet werden: Set<E> set = Collections.synchronizedSet(new HashSet<>()); //fill with data for (E e : set) { ...

1 die antwort

Was ist der Grund, warum "synchronisiert" in Java 8-Schnittstellenmethoden nicht zulässig ist?

In Java 8 kann ich leicht schreiben: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } }Ich werde die vollständige ...

2 die antwort

Java 8 Lambda innerhalb eines Lambdas kann keine Variablen vom äußeren Lambda ändern

Angenommen, ich habe eineList<String> und einList<Transfomer>. Ich möchte jeden Transformator auf jede Zeichenfolge in der Liste anwenden. Mit Java 8 Lambdas kann ich Folgendes tun: strings.stream().map(s -> { for(Transformer t : transformers) ...

3 die antwort

Stream-API und Warteschlangen: Abonnieren Sie den Stream-Stil von BlockingQueue

Nehmen wir an, wir haben eine Warteschlange BlockingQueue<String> queue= new LinkedBlockingQueue<>();und ein anderer Thread schreibt Werte hinein, dann lesen wir es so while (true) { String next = queue.take(); System.out.println("next ...

4 die antwort

Warum ist "final" in Java 8-Schnittstellenmethoden nicht zulässig?

Eine der nützlichsten Funktionen von Java 8 sind die neuendefault Methoden an Schnittstellen. Es gibt im Wesentlichen zwei Gründe (es kann auch andere Gründe geben), warum sie eingeführt wurden: Bereitstellung der tatsächlichen ...