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.

7
Sofort zu String formatieren
Ich versuche, einen Instant zu einem String mit der neuen Java 8-Zeit-API und einem Muster zu formatieren: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); Mit dem obigen Code erhalte ich eine Ausnahme, die ein nicht unterstütztes Feld beschwert: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...


5
.Min () und .max () des Java 8-Streams: Warum wird dies kompiliert?
Hinweis: Diese Frage stammt von einem toten Link, der eine vorherige SO-Frage war, aber hier geht ... Siehe diesen Code ( Hinweis: Ich weiß, dass dieser Code nicht "funktioniert" und Integer::compareverwendet werden sollte - ich habe ihn gerade aus der verknüpften Frage extrahiert ): final ArrayList <Integer> list = IntStream.rangeClosed(1, …
215 java  java-8  java-stream 

8
Warum sollte man Objects.requireNonNull () verwenden?
Ich habe festgestellt, dass viele Java 8-Methoden in Oracle JDK verwenden Objects.requireNonNull(), die intern ausgelöst werden, NullPointerExceptionwenn das angegebene Objekt (Argument) istnull . public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Aber NullPointerExceptionwird trotzdem , wenn ein geworfenernull Objekt dereferenziert wird. …

2
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 Synchronisationssemantik erhalten, die ich auch in Klassen verwenden kann. Ich kann den synchronizedModifikator …



8
Unterschied zwischen "Optional.orElse ()" und "Optional.orElseGet ()"
Ich versuche den Unterschied zwischen Optional<T>.orElse()und Optional<T>.orElseGet()Methoden zu verstehen . Die Beschreibung für die orElse()Methode lautet "Geben Sie den Wert zurück, falls vorhanden, andernfalls geben Sie einen anderen zurück." Die Beschreibung für die orElseGet()Methode lautet "Geben Sie den Wert zurück, falls vorhanden, rufen Sie andernfalls den anderen auf und geben …
206 java  java-8  optional 


4
Java 8 Stream und Betrieb auf Arrays
Ich habe gerade die neuen Java 8-Stream-Funktionen entdeckt. Als ich aus Python kam, fragte ich mich, ob es jetzt eine gute Möglichkeit gibt, Operationen an Arrays wie Summieren durchzuführen und zwei Arrays auf eine "einzeilige pythonische" Weise zu multiplizieren. Vielen Dank


2
Unterschied zwischen CompletableFuture, Future und RxJava's Observable
Ich möchte den Unterschied zwischen wissen CompletableFuture, Futureund Observable RxJava. Was ich weiß ist, dass alle asynchron sind, aber Future.get() blockiert den Thread CompletableFuture gibt die Rückrufmethoden an RxJava Observable--- ähnlich wie CompletableFuturebei anderen Vorteilen (nicht sicher) Zum Beispiel: Wenn der Client mehrere Serviceaufrufe tätigen muss und wenn wir Futures(Java) …


19
Begrenzen Sie einen Stream durch ein Prädikat
Gibt es eine Java 8-Stream-Operation, die a (möglicherweise unendlich) begrenzt, Streambis das erste Element nicht mehr mit einem Prädikat übereinstimmt? In Java 9 können wir takeWhilewie im folgenden Beispiel alle Zahlen unter 10 drucken. IntStream .iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println); Da es in …
187 java  java-8  java-stream 

9
Java 8 Lambda Void Argument
Angenommen, ich habe die folgende Funktionsschnittstelle in Java 8: interface Action<T, U> { U execute(T t); } Und für einige Fälle benötige ich eine Aktion ohne Argumente oder Rückgabetyp. Also schreibe ich so etwas: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; Es gibt mir jedoch Kompilierungsfehler, ich …
186 java  lambda  java-8  void 

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.