Articles of java 8 en

Comment mettre à jour des objects optionnels Java 8?

Existe-t-il un moyen efficace d’effectuer une conversion ascendante avec un object facultatif Voici un exemple de code: class A{} class B extends A{} B func(){ //do something return new B(); } Optional func2(){ //do something return Optional.of(new B()); } main() { A a = func(); // Upcasting works fine B b = func(); // Upcasting […]

Moyen commode de vérifier l’égalité pour les optionnels

Je recherche un moyen plus pratique de prouver l’égalité pour une valeur facultative. Voici ce que suggère un article de blog Oracle : Optional maybeUSB = …; maybeUSB.filter(usb -> “3.0”.equals(usb.getVersion()) .ifPresent(() -> System.out.println(“ok”)); IMHO résultats dans quelque chose comme if (maybeUSB.filter(c -> “3.0”.equals(c.getVersion())).isPresent()) { … } Bien sûr, c’est un peu un exemple car il […]

Facultatif ifPresent () peut-il être utilisé dans une expression plus grande pour atténuer un appel à get ()?

Pour éviter d’appeler get() qui peut get() une exception: if (a.isPresent()) list.add(a.get()); Je peux remplacer cette expression par: a.ifPresent(list::add); Mais que se passe-t-il si je dois effectuer une expression plus large comme if (a.isPresent() && b && c) list.add(a.get()); Est-il possible d’utiliser quand même un formulaire lambda qui atténue un appel à get() ? Mon […]

Quelle est la manière la plus élégante d’append deux nombres optionnels?

Je dois effectuer une opération d’ajout sur deux grandes décimales qui sont des options enroulées: Optional ordersTotal; Optional newOrder; Je veux réaliser ordersTotal + = newOrder Il est important de noter que si les deux valeurs sont vides, le résultat doit également être vide (c’est-à-dire non nul). Voici ce que je suis venu avec: ordersTotal […]

Comment vérifier si est null et si a une valeur spécifique utilisant Optional en java?

Supposons que j’ai ce code dans mon projet: public List getAll(Integer parameter) { if(parameter != null && parameter > -1) { // do something here } } Ma question est la suivante: comment puis-je vérifier avec Optional au lieu d’utiliser if , ou s’il ya autre chose que je pourrais utiliser?

Comment convertir un Optional en un OptionalInt?

J’ai une Optional que je veux “convertir” en une OptionalInt , mais il ne semble pas y avoir de moyen simple de le faire. Voici ce que je veux faire (exemple artificiel): public OptionalInt getInt() { return Optional.ofNullable(someSsortingng).filter(s -> s.matches(“\\d+”)).mapToInt(Integer::parseInt); } Cependant, il n’y a pas de méthode mapToInt() pour Optional . Le mieux que […]

Comment implémenter ce stream nested avec des optionnels?

J’ai une méthode qui prend Ssortingng en entrée et doit également renvoyer une Ssortingng . L’art ASCII suivant présente le stream logique: Option optA = finder.findA(input); optA /\ isEmpty() / \ isDefined() / \ “ERR_1” Option optB = finder.findB(optA.get().bid); / \ isEmpty() / \ isDefined() / \ “ERR_2” opt2.get().id Fondamentalement, je recherche A object qui […]

Existe-t-il un moyen élégant de dérouler un object enveloppé dans deux options nestedes?

Considérez ces deux classes class EmailService { public Optional getEmailAlias(Ssortingng email); } enum Queue { public static Optional fromEmailAlias(Ssortingng alias); } La mise en œuvre des méthodes ci-dessus n’est pas importante pour la question, j’ai donc laissé cela de côté pour des raisons de simplicité. Je veux faire ça: emailService.getEmailAlias(“john@done”) .map(Queue::fromEmailAlias) .ifPresent(queue -> { // […]

faire-tout avec Java8-facultatif

J’utilise fréquemment le modèle de boucle do-while-checkNextForNull-getNext (je ne sais pas s’il existe un nom officiel) dans certains de mes projets. Mais en Java8, l’utilisation de Optional est considérée comme un code plus propre que la recherche de références nulles dans le code client. Mais lorsque vous utilisez Optional dans ce modèle de boucle, le […]

Contrôle nul contre facultatif si contrôle présent

Quelqu’un peut-il expliquer comment Optional nous aide à éviter NullPointerException ? Optional op = someFunc() if(op.isPresent()) { op.get(); } Ssortingng possibleNull = op.get(); Ce code n’est-il pas sujet à NullPointerException également? Si oui, pourquoi ce code est-il préféré à Ssortingng op = someFunc() if(op != null) { op.get(); } Ssortingng possibleNull = op; Quels sont […]