J'ai le programme ci-dessous dans lequel j'essaie d'imprimer null
. J'utilise Java 8 pour cela. Ci-dessous mon code pour y parvenir:Obtenir l'exception ci-dessous sur l'utilisation de la première méthode null de java 8
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", "[email protected]", Gender.FEMALE, 15));
personList.add(new Person("Bob", "[email protected]", Gender.MALE, 16));
personList.add(new Person("Eric", "[email protected]", Gender.MALE, 17));
personList.add(new Person("Carol", "[email protected]", Gender.FEMALE, 23));
personList.add(new Person(null, "[email protected]", Gender.FEMALE, 15));
personList.add(new Person("Carol", "[email protected]", Gender.FEMALE, 23));
personList.add(new Person("David", "[email protected]", Gender.MALE, 19));
personList.add(new Person("Bob", "[email protected]", Gender.MALE, 16));
maintenant ci-dessous est le code que je l'ai écrit pour imprimer le nom null
premier:
personList.stream().sorted(Comparator.nullsFirst(Comparator.comparing(Person::getName))).forEach(System.out::println);
mais je reçois l'exception ci-dessous, s'il vous plaît indiquer comment surmonter de cela?
Exception in thread "main" java.lang.NullPointerException
at java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:469)
at java.util.Comparators$NullComparator.compare(Comparators.java:83)
at java.util.TimSort.binarySort(TimSort.java:296)
at java.util.TimSort.sort(TimSort.java:221)
'forEach (System.out :: println)' est la raison probable là. – nullpointer
lire https://stackoverflow.com/questions/26350996/java-8-comparator-nullsfirst-naturalorder-confused –