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.

1
JIT-Optimierungen mit Reflexion brechen
Beim Herumspielen mit Komponententests für eine hochkonkurrierende Singleton-Klasse bin ich auf das folgende seltsame Verhalten gestoßen (getestet mit JDK 1.8.0_162): private static class SingletonClass { static final SingletonClass INSTANCE = new SingletonClass(0); final int value; static SingletonClass getInstance() { return INSTANCE; } SingletonClass(int value) { this.value = value; } } …

4
Holen Sie sich Mitarbeiter vor und nach einem bestimmten Beitrittsdatum aus der Liste der Mitarbeiter mit Java-Stream
Ich habe Listvon Employees mit unterschiedlichen Beitrittsdaten. Ich möchte Mitarbeiter vor und nach einem bestimmten Beitrittsdatum von der Liste mithilfe von Streams abrufen. Ich habe versucht, folgenden Code, List<Employee> employeeListAfter = employeeList.stream() .filter(e -> e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List<Employee> employeeListBefore = employeeList.stream() .filter(e -> e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String name; …

5
So erstellen Sie mehrere Threads für jedes Anforderungselement
Ich versuche, den folgenden Code mithilfe von Multithreading auf Auftragsebene zu verarbeiten. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); Aktuelle sequentielle Ausführung: orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); Ich habe versucht mit: orders.parallelStream().forEach(order -> {}} // code snippet. Aber es ändert die Regeln …



3
Standardliste zurückgeben, wenn die Liste mit Java 8 Streams leer ist?
Gibt es eine Möglichkeit, dass das Folgende als ein Satz von Stream-Operationen ausgeführt werden kann, anstatt explizit zu prüfen, ob empfohlene Produkte leer sind, und dann die Standardliste zurückzugeben, andernfalls die gefilterte Liste zurückzugeben ? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return …

4
Sortieren Sie Zahlen in einem Array, ohne die Position gerader Zahlen mit Java-8 zu ändern
Ich lerne Java 8-Streams. Sagen Sie mir bitte, wie kann ich eine sortArrayMethode kompakter schreiben ? import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertArrayEquals; public class TestStream { /* * Sort numbers in an array without changing even numbers position */ @Test public void test_1() …

4
Kann ich in Java ein Prädikat erstellen, das einen Filter auf mehr als ein Objekt anwendet?
Ich habe ein Prädikat, mit dem ich eine Liste desselben Entitätsobjekts filtere: Predicate<DWHDeal> companyFilter = i -> i.getCompany().equals(company); Ich muss auch denselben Filter mit genau derselben Bedingung auf genau dasselbe Feld auf eine Liste von DTOs anwenden, bei denen das DTOS basierend auf der Entität von zuvor erstellt wird: Predicate<DWHDealDTO> …



2
Speichern in der Datenbank in der Stream-Pipeline
Gemäß der Dokumentation auf der Oracle-Website : Nebenwirkungen von Verhaltensparametern bei Stream-Vorgängen werden im Allgemeinen nicht empfohlen, da sie häufig zu unwissentlichen Verstößen gegen die Anforderungen an die Staatenlosigkeit sowie zu anderen Sicherheitsrisiken für Threads führen können. Umfasst dies das Speichern von Elementen des Streams in einer Datenbank? Stellen Sie …

3
Refactor-Polymorphismus mit Java 8
Ich habe eine alte Codebasis, die ich mit Java 8 umgestalten muss, daher habe ich eine Schnittstelle, die angibt, ob meine aktuelle Site die Plattform unterstützt. public interface PlatformSupportHandler { public abstract boolean isPaltformSupported(String platform); } und ich habe mehrere Klassen, die es implementieren, und jede Klasse unterstützt eine andere …
8 java  spring  java-8 


6
Java 8 erweitert für Schleife mit Index / Bereich
Ist es möglich, einen Index / Bereich in einer erweiterten for-Schleife in Java anzugeben? Zum Beispiel habe ich eine Liste: List<String> list; Und ich möchte eine for-Schleife von Index 1 anstelle von 0 ausführen: for(String s : list(start from index 1)) ODER bis Index 5 for(String s : list(end at …

2
Wie interagieren Lambda-Anrufe mit Schnittstellen?
Das unten gezeigte Code-Snippet funktioniert. Ich bin mir jedoch nicht sicher, warum es funktioniert. Ich folge nicht ganz der Logik, wie die Lambda-Funktion Informationen an die Schnittstelle weitergibt. Wo wird die Kontrolle weitergegeben? Wie macht der Compiler Sinn für jeden nin der Schleife und jeden messageerstellt? Dieser Code kompiliert und …

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.