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.
J'essaie de formater un instantané en une chaîne en utilisant la nouvelle java 8 time-api et un modèle: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); En utilisant le code ci-dessus, j'obtiens une exception qui se plaint d'un champ non pris en charge: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) …
J'ai une API externe qui me renvoie des dates en longs, représentées en millisecondes depuis le début de l'époque. Avec l'ancienne API Java de style, je construirais simplement un à Datepartir de celui-ci avec Date myDate = new Date(startDateLong) Quel est l'équivalent dans les classes LocalDate/ Java 8 LocalDateTime? Je …
Remarque: cette question provient d'un lien mort qui était une question SO précédente, mais voici ... Voir ce code ( note: je sais que ce code ne "fonctionnera" pas et qu'il Integer::comparedevrait être utilisé - je viens de l'extraire de la question liée ): final ArrayList <Integer> list = IntStream.rangeClosed(1, …
J'ai noté que de nombreuses méthodes Java 8 dans Oracle JDK utilisent Objects.requireNonNull(), ce qui déclenche en interne NullPointerExceptionsi l'objet (argument) donné l'est null. public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Mais NullPointerExceptionsera jeté de toute façon si un nullobjet …
En Java 8, je peux facilement écrire: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } J'obtiendrai la sémantique de synchronisation complète que je pourrai également utiliser en classe. Je ne peux cependant …
Je sais comment "transformer" un simple Java à Listpartir de Y-> Z, c'est-à-dire: List<String> x; List<Integer> y = x.stream() .map(s -> Integer.parseInt(s)) .collect(Collectors.toList()); Maintenant, je voudrais faire la même chose avec une carte, c'est-à-dire: INPUT: { "key1" -> "41", // "41" and "42" "key2" -> "42 // are Strings } …
Il y a beaucoup de nouvelles choses utiles dans Java 8. Par exemple, je peux itérer avec un flux sur une liste d'objets, puis additionner les valeurs d'un champ spécifique des Objectinstances de. Par exemple public class AClass { private int value; public int getValue() { return value; } } …
J'essaie de comprendre la différence entre les méthodes Optional<T>.orElse()et Optional<T>.orElseGet(). La description de la orElse()méthode est "Renvoyer la valeur si présente, sinon renvoyer autre". Tandis que la description de la orElseGet()méthode est "Renvoyer la valeur si elle est présente, sinon invoquer autre et renvoyer le résultat de cette invocation". La …
J'aimerais connaître la différence entre CompletableFuture, Futureet Observable RxJava. Ce que je sais, c'est que tous sont asynchrones mais Future.get() bloque le fil CompletableFuture donne les méthodes de rappel RxJava Observable--- similaire à CompletableFutured'autres avantages (pas sûr) Par exemple: si le client a besoin de faire plusieurs appels de service …
Dans Java 8, il existe une nouvelle méthode String.chars()qui renvoie un flux de ints ( IntStream) représentant les codes de caractères. Je suppose que beaucoup de gens s'attendraient à un flux de chars ici à la place. Quelle était la motivation pour concevoir l'API de cette façon?
Je testais de nouvelles fonctionnalités de Java 8 et copiais l'exemple dans mon IDE (Eclipse à l'origine, puis IntelliJ) comme indiqué ici Eclipse n'a offert aucun support pour les expressions lambda, et IntelliJ a continué à signaler une erreur Expressions lambda non prises en charge à ce niveau de langue …
Je viens de découvrir les nouvelles capacités de flux Java 8. Venant de Python, je me demandais s'il y avait maintenant une façon ordonnée de faire des opérations sur des tableaux comme la sommation, en multipliant deux tableaux d'une manière "pythonique d'une ligne"? Merci
J'ai une liste myListToParseoù je veux filtrer les éléments et appliquer une méthode sur chaque élément, et ajouter le résultat dans une autre liste myFinalList. Avec Java 8, j'ai remarqué que je peux le faire de 2 manières différentes. J'aimerais connaître le moyen le plus efficace entre eux et comprendre …
Disons que j'ai l'interface fonctionnelle suivante en Java 8: interface Action<T, U> { U execute(T t); } Et dans certains cas, j'ai besoin d'une action sans arguments ni type de retour. Alors j'écris quelque chose comme ça: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; Cependant, cela me …
Existe-t-il une opération de flux Java 8 qui limite un (potentiellement infini) Stream jusqu'à ce que le premier élément ne corresponde pas à un prédicat? En Java 9, nous pouvons utiliser takeWhilecomme dans l'exemple ci-dessous pour imprimer tous les nombres inférieurs à 10. IntStream .iterate(1, n -> n + 1) …
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.