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.
Les méthodes par défaut sont un nouvel outil intéressant dans notre boîte à outils Java. Cependant, j'ai essayé d'écrire une interface qui définit une defaultversion de la toStringméthode. Java me dit que cela est interdit, car les méthodes déclarées dans java.lang.Objectne peuvent pas être defaultéditées. pourquoi est-ce le cas? Je …
Google Guava a un prédicat qui revient toujourstrue . Java 8 a-t-il quelque chose de similaire pour son Predicate? Je sais que je pourrais utiliser (foo)->{return true;}, mais je veux quelque chose de préfabriqué, analogue à Collections.emptySet().
J'ai une ancienne application écrite en utilisant Java 7. Elle fonctionne bien dans un Java 8 JRE. Je ne prévois pas de réécrire le code pour utiliser les fonctionnalités de Java 8. Y a-t-il un avantage technique à mettre à niveau le code compilé vers le dernier JDK Java 8? …
J'ai un problème avec le flux de Java 8 foreach qui tente de passer à l'élément suivant en boucle. Je ne peux pas définir la commande comme continue;, return;fonctionne seulement mais vous quitterez la boucle dans ce cas. J'ai besoin de passer à l'élément suivant en boucle. Comment puis je …
Pourquoi ZonedDateTime now = ZonedDateTime.now(); System.out.println(now.withZoneSameInstant(ZoneOffset.UTC) .equals(now.withZoneSameInstant(ZoneId.of("UTC")))); imprimer false? Je m'attendrais à ce que les deux ZonedDateTimeinstances soient égales.
Comment obtenir le premier élément qui correspond à un critère dans un flux? J'ai essayé mais ne fonctionne pas this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); Ce critère ne fonctionne pas, la méthode de filtrage est appelée dans une autre classe que Stop. public class Train { private final String name; private final SortedSet<Stop> …
Je voudrais dupliquer un flux Java 8 pour pouvoir le gérer deux fois. Je peux collectcomme liste et obtenir de nouveaux flux à partir de cela; // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff Mais je pense qu'il devrait y …
J'ai ce code simple: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) Ensuite, j'obtiendrai l'exception suivante: 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) Comment résoudre ce problème?
Les expressions lambda ont-elles une utilité autre que l'enregistrement de lignes de code? Existe-t-il des fonctionnalités spéciales fournies par lambdas qui résolvaient des problèmes qui n'étaient pas faciles à résoudre? L'utilisation typique que j'ai vue est qu'au lieu d'écrire ceci: Comparator<Developer> byName = new Comparator<Developer>() { @Override public int compare(Developer …
Je n'arrive pas à comprendre la différence entre thenApply() et thenCompose(). Alors, quelqu'un pourrait-il fournir un cas d'utilisation valide? À partir de la documentation Java: thenApply(Function<? super T,? extends U> fn) Renvoie un nouveau CompletionStagequi, lorsque cette étape se termine normalement, est exécuté avec le résultat de cette étape comme …
J'ai déjà lu plusieurs tutoriels Java 8. En ce moment, j'ai rencontré le sujet suivant: Java prend-il en charge Currying? Ici, je vois le code suivant: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Je comprends que cet exemple somme 2 éléments mais je ne comprends pas …
Comment puis-je obtenir le dernier élément d'un flux ou d'une liste dans le code suivant? Où data.careasest un List<CArea>: CArea first = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).findFirst().get(); CArea last = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal) .collect(Collectors.toList()).; //how to? Comme vous pouvez le voir, obtenir le premier élément, avec un certain filter, n'est …
Je jouais avec la nouvelle API de date et d'heure, mais en exécutant ceci: 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); } } Il jette: 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 …
Jusqu'à Java 7, il y avait une zone dans la mémoire JVM appelée PermGen , où JVM conservait ses classes. Dans Java 8, il a été supprimé et remplacé par la zone appelée Metaspace . Quelles sont les différences les plus importantes entre PermGen et Metaspace? La seule différence que …
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.