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
Ignorieren Sie Duplikate, wenn Sie eine Karte mit Streams erstellen
Map<String, String> phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Ich bekomme, java.lang.IllegalStateException: Duplicate keywenn ein dupliziertes Element gefunden wird. Ist es möglich, eine solche Ausnahme beim Hinzufügen von Werten zur Karte zu ignorieren? Wenn es ein Duplikat gibt, sollte es einfach fortgesetzt werden, indem dieser doppelte Schlüssel ignoriert wird.
257 java  java-8  java-stream 

4
Was ist der Unterschied zwischen Instant und LocalDateTime?
Ich weiß das: Instant ist eher eine "technische" Zeitstempeldarstellung (Nanosekunden) für die Berechnung. LocalDateTime ist eher eine Datums- / Uhrzeitdarstellung einschließlich Zeitzonen für Menschen. Letztendlich kann IMO beides als Typ für die meisten Anwendungsfälle verwendet werden. Beispiel: Derzeit führe ich einen Batch-Job aus, bei dem ich einen nächsten Lauf basierend …
256 java  datetime  java-8 

13
Berechnen Sie Tage zwischen zwei Daten in Java 8
Ich weiß, dass es auf SO viele Fragen gibt, wie man es bekommt, aber ich möchte ein Beispiel für die Verwendung der neuen Java 8 Date-API. Ich kenne auch die JodaTime-Bibliothek, möchte aber ohne externe Bibliotheken arbeiten. Die Funktion muss sich mit folgenden Einschränkungen beschweren: Verhindern Sie Fehler beim Speichern …

12
Java 8 JDK vom Mac entfernen
Deshalb habe ich vor einiger Zeit die Beta von JDK 8 installiert, um mir einige Beispiele anzusehen. Ich war mir sicher, dass es einfach ist, zwischen den Versionen zu wechseln. Mit IntelliJ etwas Spielentwicklung machen. Aus irgendeinem Grund kompiliert IntelliJ mit 8, obwohl: Ich habe den Compiler in den Einstellungen …

4
Explizites Aufrufen einer Standardmethode in Java
In Java 8 werden Standardmethoden eingeführt , mit denen Schnittstellen erweitert werden können, ohne dass vorhandene Implementierungen geändert werden müssen. Ich frage mich, ob es möglich ist, die Standardimplementierung einer Methode explizit aufzurufen, wenn diese Methode überschrieben wurde oder aufgrund widersprüchlicher Standardimplementierungen in verschiedenen Schnittstellen nicht verfügbar ist. interface A …

3
Warum bietet Iterable <T> keine stream () - und parallelStream () -Methoden an?
Ich frage mich, warum die IterableSchnittstelle die stream()und parallelStream()Methoden nicht bereitstellt . Betrachten Sie die folgende Klasse: public class Hand implements Iterable&lt;Card&gt; { private final List&lt;Card&gt; list = new ArrayList&lt;&gt;(); private final int capacity; //... @Override public Iterator&lt;Card&gt; iterator() { return list.iterator(); } } Es ist eine Implementierung einer Hand, …

3
Java 8 Lambdas, Function.identity () oder t-> t
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Лямбды в Java 8, что лучше использовать - Function.identity () или t-&gt; t? Ich habe eine Frage zur Verwendung der Function.identity()Methode. Stellen Sie sich den folgenden Code vor: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // &lt;- This, .map(str -&gt; str) // …

5
Warum sind Java Streams einmalig?
Im Gegensatz zu C # IEnumerable, bei denen eine Ausführungspipeline so oft ausgeführt werden kann, wie wir möchten, kann ein Stream in Java nur einmal "iteriert" werden. Jeder Aufruf einer Terminaloperation schließt den Stream und macht ihn unbrauchbar. Diese 'Funktion' nimmt viel Energie weg. Ich stelle mir vor, der Grund …

12
Optionale Verwendung von Java 8 mit Stream :: flatMap
Das neue Java 8-Stream-Framework und seine Freunde sorgen für einen sehr präzisen Java-Code, aber ich bin auf eine scheinbar einfache Situation gestoßen, die schwierig zu formulieren ist. Betrachten Sie eine List&lt;Thing&gt; thingsund Methode Optional&lt;Other&gt; resolve(Thing thing). Ich möchte das Things auf Optional&lt;Other&gt;s abbilden und das erste bekommen Other. Die naheliegende …

4
Java 8-Streams: Mehrere Filter im Vergleich zu komplexen Bedingungen
Manchmal möchten Sie a Streammit mehr als einer Bedingung filtern : myList.stream().filter(x -&gt; x.size() &gt; 10).filter(x -&gt; x.isCool()) ... oder Sie könnten dasselbe mit einer komplexen Bedingung und einer einzigen tun filter: myList.stream().filter(x -&gt; x.size() &gt; 10 &amp;&amp; x -&gt; x.isCool()) ... Ich vermute, dass der zweite Ansatz bessere Leistungseigenschaften …

4
Warum Optional.of über Optional.ofNullable verwenden?
Bei Verwendung der Java 8- OptionalKlasse gibt es zwei Möglichkeiten, wie ein Wert in eine Option eingeschlossen werden kann. String foobar = &lt;value or null&gt;; Optional.of(foobar); // May throw NullPointerException Optional.ofNullable(foobar); // Safe from NullPointerException Ich verstehe, dass dies Optional.ofNullabledie einzig sichere Art der Verwendung ist Optional, aber warum gibt …

6
PermGen-Eliminierung in JDK 8
Ich habe JDK 8 installiert und versucht, Eclipse auszuführen. Ich erhalte folgende Warnmeldung: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 Was sind die Gründe, diese VM-Option zu ignorieren?
229 java  java-8  jvm  permgen 

23
WebService Client-Generierungsfehler mit JDK8
Ich muss einen Webdienst in meinem Projekt verwenden. Ich verwende NetBeans, habe also mit der rechten Maustaste auf mein Projekt geklickt und versucht, einen neuen "Web Service Client" hinzuzufügen. Als ich das letzte Mal nachgesehen habe, war dies der Weg, um einen Webdienst-Client zu erstellen. Aber es führte zu einem …

19
Filtern Sie Java Stream auf 1 und nur 1 Element
Ich versuche Java 8 Streams zu verwenden, um Elemente in a zu finden LinkedList. Ich möchte jedoch garantieren, dass es nur eine Übereinstimmung mit den Filterkriterien gibt. Nehmen Sie diesen Code: public static void main(String[] args) { LinkedList&lt;User&gt; users = new LinkedList&lt;&gt;(); users.add(new User(1, "User1")); users.add(new User(2, "User2")); users.add(new User(3, …

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.