Articles of java 8

Est-ce que mapToDouble () est vraiment nécessaire pour faire la sum de List avec les stream Java 8?

Autant que je sache, la manière de résumer une List utilisant des stream Java 8 est la suivante: List vals = . . . ; double sum = vals.stream().mapToDouble(Double::doubleValue).sum(); Pour moi, le mapToDouble(Double::doubleValue) semble un peu superflu – juste le genre de “cérémonie” standard que les lambdas et les stream étaient censés se passer. Les […]

Différence de comportement de l’opérateur ternaire sur JDK8 et JDK10

Considérez le code suivant public class JDK10Test { public static void main(Ssortingng[] args) { Double d = false ? 1.0 : new HashMap().get(“1”); System.out.println(d); } } Lors de l’exécution sur JDK8, ce code imprime null alors que sur JDK10, ce code génère une exception NullPointerException Exception in thread “main” java.lang.NullPointerException at JDK10Test.main(JDK10Test.java:5) Le code d’octet […]

Référence constructeur – pas d’avertissement lorsque le tableau générique est créé

En Java, il n’est pas possible de créer directement un tableau de type générique: Test[] t1 = new Test[10]; // Comstack-time error Cependant, nous pouvons le faire en utilisant le type brut: Test[] t2 = new Test[10]; // Comstack warning “unchecked” Dans Java 8, il est également possible d’utiliser une référence de constructeur: interface ArrayCreator […]

Dois-je utiliser Java8 / Guava Facultatif pour chaque méthode pouvant renvoyer null?

Facultatif est utilisé pour représenter un object nullable. Certaines utilisations de cette classe incluent En tant que type de retour de méthode, au lieu de renvoyer null à indique qu’aucune valeur n’était disponible Distinguer “inconnu” (par exemple, non présent dans une carte) et “connu pour n’avoir aucune valeur” (présent dans la carte, avec valeur Optional.absent […]

Fusion de deux Map avec l’API Java 8 Stream

J’ai deux (ou plusieurs) objects Map . Je voudrais les fusionner avec l’API Java 8 Stream de manière à ce que les valeurs des clés communes correspondent au maximum des valeurs. @Test public void test14() throws Exception { Map m1 = ImmutableMap.of(“a”, 2, “b”, 3); Map m2 = ImmutableMap.of(“a”, 3, “c”, 4); List<Map> list = […]

Garbage Collector par défaut pour Java 8

Quel est le garbage collector par défaut pour Java 8? Lorsque je vérifie les Beans JMX, ils révèlent que c’est le collecteur parallèle pour la nouvelle génération et l’ancien collecteur série pour l’ancienne génération.

Comment convertir ZonedDateTime en Date?

J’essaie de définir une date et l’heure du serveur dans ma firebase database et je pense que la meilleure pratique consiste à définir une date / heure UTC. Mon serveur de firebase database est Cassandra et le pilote de firebase database pour Java ne comprend que le type Date. Donc, en supposant que dans mon […]

Comment convertir un LocalDate en Instant?

Je travaille avec la nouvelle API DateTime de Java 8. Comment convertir un LocalDate en Instant? Je reçois une exception avec LocalDate date = LocalDate.of(2012, 2, 2); Instant instant = Instant.from(date); et je ne comprends pas pourquoi.

Java 8 – omettre la méthode de collecte fastidieuse

Java 8 stream api est une fonctionnalité très intéressante et je l’aime absolument. Une chose qui m’énerve, c’est que 90% du temps, je veux avoir une consortingbution en tant que collection et sortie en tant que collections. La conséquence est que je dois appeler la méthode stream() et collect() tout le temps: collection.stream().filter(p->p.isCorrect()).collect(Collectors.toList()); Y a-t-il […]

Quel est le but du 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 champs final (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, seules les méthodes abstraites […]