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
Java 8 Streams - Sammeln gegen Reduzieren
Wann würden Sie collect()vs verwenden reduce()? Hat jemand gute, konkrete Beispiele dafür, wann es definitiv besser ist, in die eine oder andere Richtung zu gehen? Javadoc erwähnt, dass collect () eine veränderliche Reduktion ist . Da es sich um eine veränderbare Reduzierung handelt, gehe ich davon aus, dass eine Synchronisierung …
143 java  java-8  java-stream 

4
Warum wird ein Kombinierer für die Reduzierungsmethode benötigt, die den Typ in Java 8 konvertiert?
Ich habe Probleme, die Rolle, die combinerdie Streams- reduceMethode erfüllt , vollständig zu verstehen . Der folgende Code wird beispielsweise nicht kompiliert: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str) -> accumulatedInt + str.length()); Der Kompilierungsfehler lautet: (Argument stimmt nicht überein; int kann nicht in java.lang.String konvertiert werden) aber dieser …
141 java  java-8  java-stream 


3
Warum ist Cloneable nicht veraltet?
Es ist allgemein bekannt, dass die CloneableSchnittstelle in Java defekt ist. Es gibt viele Gründe dafür, die ich nicht erwähnen werde; andere haben es schon getan. Es ist auch die Position der Java-Architekten selbst. Meine Frage ist daher: Warum wurde noch nicht veraltet? Wenn das Java-Kernteam entschieden hat, dass es …


6
Optional orElse Optional in Java
Ich habe mit dem neuen optionalen Typ in Java 8 gearbeitet und bin auf eine allgemeine Operation gestoßen, die funktional nicht unterstützt wird: eine "orElseOptional" Betrachten Sie das folgende Muster: Optional<Result> resultFromServiceA = serviceA(args); if (resultFromServiceA.isPresent) return result; else { Optional<Result> resultFromServiceB = serviceB(args); if (resultFromServiceB.isPresent) return resultFromServiceB; else return …
137 java  lambda  java-8  optional  java-9 

2
So legen Sie das IntelliJ IDEA Project SDK fest
Ich habe gerade IntelliJ IDEA installiert und beim Versuch, mein erstes Projekt zu erstellen, werde ich aufgefordert, das Project SDK einzurichten. Wenn ich auf "JDK" klicke, werde ich aufgefordert, das Ausgangsverzeichnis des JDK auszuwählen, wie in diesem Bild gezeigt. Ich habe Probleme zu finden, wo es ist.

6
In Java-Streams ist Peek wirklich nur zum Debuggen?
Ich lese über Java-Streams und entdecke dabei neue Dinge. Eines der neuen Dinge, die ich gefunden habe, war die peek()Funktion. Fast alles, was ich auf Peek gelesen habe, besagt, dass es zum Debuggen Ihrer Streams verwendet werden sollte. Was wäre, wenn ich einen Stream hätte, in dem jedes Konto einen …
136 java  java-8  java-stream  peek 

6
So erkennen Sie, ob JRE oder JDK installiert ist
Ich habe einen Computer, auf dem ich JDK absichtlich installiert habe. Ich habe einen anderen Computer mit JRE, unter anderem zum Testen. Als ich jedoch eine Java-Anwendung auf diesem Computer zum Laufen brachte und sie dann auf einem anderen Computer ausprobierte, wurde beschwert, dass JDK erforderlich war. Wie kann ich …
134 java  macos  java-8 



5
So umgehen Sie das strengere Java 8 Javadoc bei Verwendung von Maven
Sie werden schnell feststellen, dass JDK8 in Bezug auf Javadoc (standardmäßig) viel strenger ist. ( Link - siehe letzter Aufzählungspunkt) Wenn Sie niemals Javadoc generieren, treten natürlich keine Probleme auf, aber Dinge wie der Maven-Release-Prozess und möglicherweise Ihre CI-Builds schlagen plötzlich fehl, wenn sie mit JDK7 einwandfrei funktionieren. Alles, was …
133 java  maven  java-8 



1
Was ist ein 'SAM-Typ' in Java?
Beim Lesen der Java-8-Spezifikation sehe ich immer wieder Verweise auf 'SAM-Typen'. Ich konnte keine klare Erklärung dafür finden. Was ist ein SAM-Typ und was ist ein Beispielszenario dafür, wann einer verwendet werden könnte?
132 java  lambda  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.