Questions marquées «java-8»

Utilisez cette balise pour les questions spécifiques à Java 8 qui est la version 8 (numéro interne 1.8) de la plate-forme Java, publiée le 18 mars 2014. Dans la plupart des cas, vous devez également spécifier la balise java.

6
Comment vérifier si un flux Java 8 est vide?
Comment puis-je vérifier si a Streamest vide et lever une exception si ce n'est pas le cas, en tant qu'opération non terminale? En gros, je cherche quelque chose d'équivalent au code ci-dessous, mais sans matérialiser le flux entre les deux. En particulier, le contrôle ne doit pas avoir lieu avant …

15
Java 8 Stream avec traitement par lots
J'ai un gros fichier qui contient une liste d'articles. Je voudrais créer un lot d'articles, faire une requête HTTP avec ce lot (tous les éléments sont nécessaires en tant que paramètres dans la requête HTTP). Je peux le faire très facilement avec une forboucle, mais en tant qu'amoureux de Java …

5
Utilisation correcte de Optional.ifPresent ()
J'essaie de comprendre la ifPresent()méthode de l' OptionalAPI dans Java 8. J'ai une logique simple: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Mais cela entraîne une erreur de compilation: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Bien sûr, je peux faire quelque chose comme ça: if(user.isPresent()) { doSomethingWithUser(user.get()); } Mais c'est exactement comme …
95 java  lambda  java-8  optional 



5
Pourquoi Collections.sort utilise Mergesort mais pas Arrays.sort?
J'utilise JDK-8 (x64). Pour Arrays.sort(primitives), j'ai trouvé ce qui suit dans la documentation Java: L'algorithme de tri est un double-pivot Quicksort par Vladimir Yaroslavskiy, Jon Bentley, et Joshua Bloch.` Pour Collections.sort(objets) j'ai trouvé ce "Timsort": Cette implémentation est un mergesort stable, adaptatif et itératif ... Cette implémentation vide la liste …

8
À quoi sert le mot-clé par défaut en Java?
Une interface en Java est similaire à une classe, mais le corps d'une interface ne peut inclure que des méthodes abstraites et des finalchamps (constantes). Récemment, j'ai vu une question qui ressemble à ceci interface AnInterface { public default void myMethod() { System.out.println("D"); } } Selon la définition de l'interface, …



6
Implémentation HashMap Java 8
Selon le document de lien suivant: Implémentation Java HashMap Je suis confus avec la mise en œuvre de HashMap(ou plutôt, une amélioration dans HashMap). Mes requêtes sont: d'abord static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; Pourquoi et comment ces …

5
Pourquoi ne puis-je pas mapper des entiers sur des chaînes lors de la diffusion à partir d'un tableau?
Ce code fonctionne (pris dans le Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Celui-ci ne peut pas être compilé: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA me dit que …

3
_ (trait de soulignement) est un mot-clé réservé
Je viens de remplacer sdans l'expression lambda suivante par _: s -> Integer.parseInt(s) Le compilateur Eclipse dit: «_» ne doit pas être utilisé comme identifiant, car il s'agit d'un mot clé réservé à partir du niveau source 1.8. Je n'ai trouvé aucune explication dans le JLS §3.9 Structure lexicale / …
92 java  lambda  java-8 

6
Transformez Java Future en un CompletableFuture
Java 8 introduit CompletableFuture, une nouvelle implémentation de Future qui est composable (inclut un tas de méthodes thenXxx). Je voudrais l'utiliser exclusivement, mais la plupart des bibliothèques que je souhaite utiliser ne renvoient que des Futureinstances non composables . Existe-t-il un moyen d'envelopper une Futureinstance retournée dans un CompleteableFutureafin que …
92 java  java-8  future 

6
Utilisation de flux pour collecter dans TreeSet avec un comparateur personnalisé
Travaillant en Java 8, j'ai TreeSetdéfini comme ceci: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport est une classe assez simple définie comme ceci: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, …

1
completablefuture rejoindre vs obtenir
Quelle est la différence entre CompletableFuture.get()et CompletableFuture.join()? Voici mon code: List<String> process() { List<String> messages = Arrays.asList("Msg1", "Msg2", "Msg3", "Msg4", "Msg5", "Msg6", "Msg7", "Msg8", "Msg9", "Msg10", "Msg11", "Msg12"); MessageService messageService = new MessageService(); ExecutorService executor = Executors.newFixedThreadPool(4); List<String> mapResult = new ArrayList<>(); CompletableFuture<?>[] fanoutRequestList = new CompletableFuture[messages.size()]; int count = …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.