Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 8 - Classe facultative

Facultatif est un objet conteneur utilisé pour contenir des objets non nuls. L'objet facultatif est utilisé pour représenter null avec une valeur absente. Cette classe a diverses méthodes utilitaires pour permettre au code de gérer les valeurs comme « disponibles » ou « non disponibles » au lieu de vérifier les valeurs nulles. Il est introduit dans Java 8 et est similaire à ce qu'est Optional dans Guava.

Déclaration de classe

Voici la déclaration pour java.util.Optional classe −

public final class Optional<T> extends Object

Méthode de classe

statique Facultatif vide()

Renvoie une instance facultative vide.

booléen égal à(Object obj)

Indique si un autre objet est "égal à" ce Facultatif.

Filtre facultatif (prédicat prédicat)

Si une valeur est présente et que la valeur correspond à un prédicat donné, elle renvoie un Facultatif décrivant la valeur, sinon renvoie un Facultatif vide.

Facultatif flatMap(Fonction> mappeur)

Si une valeur est présente, elle lui applique la fonction de mappage de roulement facultatif fournie, renvoie ce résultat, sinon renvoie un facultatif vide.

T get()

Si une valeur est présente dans ce Facultatif, renvoie la valeur, sinon lève NoSuchElementException.

int hashCode()

Renvoie la valeur du code de hachage de la valeur actuelle, le cas échéant, ou 0 (zéro) si aucune valeur n'est présente.

annuler ifPresent(Consumerconsommateur)

Si une valeur est présente, il appelle le consommateur spécifié avec la valeur, sinon ne fait rien.

booléen isPresent()

Renvoie vrai si une valeur est présente, sinon faux.

Carte facultative(Fonction mappeur)

Si une valeur est présente, applique la fonction de mappage fournie, et si le résultat n'est pas nul, renvoie un Facultatif décrivant le résultat.

statique Facultatif de (valeur T)

Renvoie un Facultatif avec la valeur actuelle non nulle spécifiée.

statique Facultatif deNullable(valeur T)

Renvoie un Facultatif décrivant la valeur spécifiée, si non nul, sinon renvoie un Facultatif vide.

T orElse(T autre)

Renvoie la valeur si elle est présente, sinon renvoie autre.

T orElseGet(Fournisseur autre)

Renvoie la valeur si elle est présente, sinon invoque autre et renvoie le résultat de cette invocation.

T orElseThrow(Fournisseur exceptionFournisseur)

Renvoie la valeur contenue, si elle est présente, sinon lève une exception à créer par le fournisseur fourni.

Chaîne àChaîne()

Renvoie une représentation sous forme de chaîne non vide de ce Facultatif adapté au débogage.

Sr.No. Méthode et description
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Cette classe hérite des méthodes de la classe suivante −

  • java.lang.Object

Exemple facultatif

Créez le programme Java suivant à l'aide de l'éditeur de votre choix dans, par exemple, C:\> JAVA.

Java8Tester.java

Démo en direct
import java.util.Optional;

public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester java8Tester = new Java8Tester();
      Integer value1 = null;
      Integer value2 = new Integer(10);
		
      //Optional.ofNullable - allows passed parameter to be null.
      Optional<Integer> a = Optional.ofNullable(value1);
		
      //Optional.of - throws NullPointerException if passed parameter is null
      Optional<Integer> b = Optional.of(value2);
      System.out.println(java8Tester.sum(a,b));
   }
	
   public Integer sum(Optional<Integer> a, Optional<Integer> b) {
      //Optional.isPresent - checks the value is present or not
		
      System.out.println("First parameter is present: " + a.isPresent());
      System.out.println("Second parameter is present: " + b.isPresent());
		
      //Optional.orElse - returns the value if present otherwise returns
      //the default value passed.
      Integer value1 = a.orElse(new Integer(0));
		
      //Optional.get - gets the value, value should be present
      Integer value2 = b.get();
      return value1 + value2;
   }
}

Vérifier le résultat

Compilez la classe en utilisant javac compilateur comme suit −

C:\JAVA>javac Java8Tester.java

Exécutez maintenant le Java8Tester comme suit −

C:\JAVA>java Java8Tester

Il devrait produire la sortie suivante −

First parameter is present: false
Second parameter is present: true
10

Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Classe Java ObjectOutputStream
  8. Génériques Java
  9. Classe de fichier Java