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.

5
Java8: Warum ist es verboten, eine Standardmethode für eine Methode aus java.lang.Object zu definieren?
Standardmethoden sind ein schönes neues Tool in unserer Java-Toolbox. Ich habe jedoch versucht, eine Schnittstelle zu schreiben, die eine defaultVersion der toStringMethode definiert. Java sagt mir, dass dies verboten ist, da in deklarierte Methoden java.lang.Objectmöglicherweise nicht defaultbearbeitet werden. Warum ist das so? Ich weiß, dass es die Regel "Basisklasse gewinnt …




4
Mit Java 8 foreach-Schleife im Stream zum nächsten Element wechseln
Ich habe ein Problem mit dem Stream von Java 8 für jeden Versuch, mit dem nächsten Element in der Schleife fortzufahren. Ich kann den Befehl nicht so einstellen continue;, return;funktioniert nur, aber in diesem Fall verlassen Sie die Schleife. Ich muss mit dem nächsten Element in der Schleife fortfahren. Wie …
126 java  java-8 


3
Formatieren Sie LocalDateTime mit Timezone in Java8
Ich habe diesen einfachen Code: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) Dann bekomme ich folgende Ausnahme: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.LocalDateTime.getLong(LocalDateTime.java:720) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.format(DateTimeFormatterBuilder.java:3315) at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(DateTimeFormatterBuilder.java:2182) at java.time.format.DateTimeFormatter.formatTo(DateTimeFormatter.java:1745) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1719) at java.time.LocalDateTime.format(LocalDateTime.java:1746) Wie kann ich dieses Problem beheben?
121 java  java-8  java-time 

9
Haben Lambda-Ausdrücke eine andere Verwendung als das Speichern von Codezeilen?
Haben Lambda-Ausdrücke eine andere Verwendung als das Speichern von Codezeilen? Gibt es spezielle Funktionen von Lambdas, die Probleme lösten, die nicht einfach zu lösen waren? Die typische Verwendung, die ich gesehen habe, ist die, anstatt dies zu schreiben: Comparator<Developer> byName = new Comparator<Developer>() { @Override public int compare(Developer o1, Developer …
120 java  lambda  java-8 

10
Kopieren Sie einen Stream, um zu vermeiden, dass der Stream bereits bearbeitet oder geschlossen wurde.
Ich möchte einen Java 8-Stream duplizieren, damit ich zweimal damit umgehen kann. Ich kann collectals Liste und neue Streams daraus bekommen; // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff Aber ich denke, es sollte einen effizienteren / eleganteren Weg geben. …

3
Holen Sie sich das erste Element, das den Kriterien entspricht
Wie erhalte ich das erste Element, das einem Kriterium in einem Stream entspricht? Ich habe es versucht, aber es funktioniert nicht this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); Dieses Kriterium funktioniert nicht. Die Filtermethode wird in einer anderen Klasse als Stop aufgerufen. public class Train { private final String name; private final SortedSet<Stop> stops; …
120 java  java-8  java-stream 

4
CompletableFuture | thenApply vs thenCompose
Ich kann den Unterschied zwischen thenApply() und nicht verstehen thenCompose(). Könnte jemand einen gültigen Anwendungsfall bereitstellen? Aus den Java-Dokumenten: thenApply(Function<? super T,? extends U> fn) Gibt eine neue zurück CompletionStage, die, wenn diese Stufe normal abgeschlossen ist, mit dem Ergebnis dieser Stufe als Argument für die angegebene Funktion ausgeführt wird. …

6
Was bedeutet Lambda mit 2 Pfeilen in Java 8?
Ich habe bereits mehrere Java 8-Tutorials gelesen. Im Moment bin ich auf folgendes Thema gestoßen: Unterstützt Java Currying? Hier sehe ich folgenden Code: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Ich verstehe, dass dieses Beispiel 2 Elemente summiert, aber ich kann die Konstruktion nicht verstehen: a …
118 java  lambda  java-8  currying 



3
Formatieren Sie ein Datum mit der neuen Datums- / Uhrzeit-API
Ich habe mit der neuen Datums- / Uhrzeit-API gespielt, aber als ich diese ausführte: public class Test { public static void main(String[] args){ String dateFormatted = LocalDate.now() .format(DateTimeFormatter .ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println(dateFormatted); } } Es wirft: Exception in thread "main" java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: HourOfDay at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at …

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.