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.
Ich suche nach einer prägnanten Möglichkeit, einen Iteratorin einen Streamoder genauer zu konvertieren, um den Iterator als Stream "anzuzeigen". Aus Leistungsgründen möchte ich eine Kopie des Iterators in einer neuen Liste vermeiden: Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Collection<String> copyList = new ArrayList<String>(); sourceIterator.forEachRemaining(copyList::add); Stream<String> targetStream = copyList.stream(); Aufgrund einiger …
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Цикл foreach против Iterable.foreach в Java 8: что лучше? Welche der folgenden Methoden ist in Java 8 besser geeignet? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } Ich habe viele for-Schleifen, …
Wie kann ich in Java 8 eine Sammlung mithilfe der StreamAPI filtern, indem ich die Unterscheidbarkeit einer Eigenschaft jedes Objekts überprüfe? Zum Beispiel habe ich eine Liste von PersonObjekten und möchte Personen mit demselben Namen entfernen. persons.stream().distinct(); Verwendet die Standard-Gleichheitsprüfung für ein PersonObjekt, also brauche ich so etwas wie: persons.stream().distinct(p …
Ich habe mit Java 8 Lambdas herumgespielt, um Sammlungen einfach zu filtern. Ich habe jedoch keinen präzisen Weg gefunden, um das Ergebnis als neue Liste innerhalb derselben Anweisung abzurufen. Hier ist mein bisher prägnantester Ansatz: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList = new …
Ich habe eine Schnittstelle, die zurückkehrt java.lang.Iterable<T>. Ich möchte dieses Ergebnis mit der Java 8 Stream-API bearbeiten. Iterable kann jedoch nicht "streamen". Haben Sie eine Idee, wie Sie das Iterable als Stream verwenden können, ohne es in List zu konvertieren?
Ist es möglich, einen benutzerdefinierten Thread-Pool für den parallelen Java 8- Stream anzugeben ? Ich kann es nirgendwo finden. Stellen Sie sich vor, ich habe eine Serveranwendung und möchte parallele Streams verwenden. Aber die Anwendung ist groß und hat mehrere Threads, deshalb möchte ich sie unterteilen. Ich möchte keine langsam …
Ich habe auf vielen Websites gelesen. Optional sollte nur als Rückgabetyp verwendet und nicht in Methodenargumenten verwendet werden. Ich kämpfe darum, einen logischen Grund dafür zu finden. Zum Beispiel habe ich eine Logik, die 2 optionale Parameter hat. Daher halte ich es für sinnvoll, meine Methodensignatur wie folgt zu schreiben …
Gibt es eine übersichtliche Möglichkeit, einen Stream zu durchlaufen, während Sie Zugriff auf den Index im Stream haben? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -> e.getValue().length() <= e.getKey()) .map(Entry::getValue) .collect(toList()); Das scheint ziemlich enttäuschend im Vergleich …
Ich möchte java.time.LocalDatein java.util.DateTyp konvertieren . Weil ich das Datum einstellen möchte JDateChooser. Oder gibt es eine Datumsauswahl, die java.timeDatumsangaben unterstützt ?
Ich möchte eine Liste von ganzen Zahlen zusammenfassen. Es funktioniert wie folgt, aber die Syntax fühlt sich nicht richtig an. Könnte der Code optimiert werden? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
In Java 8 können Methoden als Lambda-Ausdrücke erstellt und als Referenz übergeben werden (mit ein wenig Arbeit unter der Haube). Es gibt viele Beispiele online, bei denen Lambdas erstellt und mit Methoden verwendet werden, aber keine Beispiele dafür, wie eine Methode erstellt wird, bei der ein Lambda als Parameter verwendet …
Ich spiele mit Lambdas in Java 8 und bin auf eine Warnung gestoßen local variables referenced from a lambda expression must be final or effectively final. Ich weiß, dass Variablen, die in einer anonymen Klasse verwendet werden, in der äußeren Klasse endgültig sein müssen, aber dennoch - was ist der …
Java 8 hat eine neue java.time- API für die Arbeit mit Datum und Uhrzeit hinzugefügt ( JSR 310 ). Ich habe Datum und Uhrzeit als Zeichenfolge (z "2014-04-08 12:30". B. ). Wie kann ich eine LocalDateTimeInstanz aus der angegebenen Zeichenfolge erhalten? Nachdem ich mit dem LocalDateTimeObjekt gearbeitet habe: Wie kann …
Eine der nützlichsten Funktionen von Java 8 sind die neuen defaultMethoden für Schnittstellen. Es gibt im Wesentlichen zwei Gründe (es kann andere geben), warum sie eingeführt wurden: Bereitstellung der tatsächlichen Standardimplementierungen. Beispiel:Iterator.remove() Berücksichtigung der JDK-API-Evolution. Beispiel:Iterable.forEach() Aus Sicht eines API-Designers hätte ich gerne andere Modifikatoren für Schnittstellenmethoden verwenden können, z …
In Java 8 können Sie eine Methodenreferenz verwenden, um einen Stream zu filtern, zum Beispiel: Stream<String> s = ...; long emptyStrings = s.filter(String::isEmpty).count(); Gibt es eine Möglichkeit, eine Methodenreferenz zu erstellen, die die Negation einer vorhandenen ist, dh so etwas wie: long nonEmptyStrings = s.filter(not(String::isEmpty)).count(); Ich könnte die notMethode wie …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.