Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 8 - Classe Opcional


Opcional é um objeto container usado para conter objetos não nulos. O objeto opcional é usado para representar null com valor ausente. Essa classe tem vários métodos utilitários para facilitar o código para lidar com valores como 'disponível' ou 'não disponível' em vez de verificar valores nulos. Ele é introduzido no Java 8 e é semelhante ao que é opcional no Guava.

Declaração de Classe


Segue a declaração para java.util.Optional classe -
public final class Optional<T> extends Object

Método de classe

Nº Sr. Método e descrição
1
estático Opcional vazio()

Retorna uma instância Opcional vazia.
2
boolean equals(Object obj)

Indica se algum outro objeto é "igual a" este Opcional.
3
Filtro opcional(Predicado predicado)

Se um valor estiver presente e o valor corresponder a um determinado predicado, ele retornará um Optional descrevendo o valor, caso contrário, retornará um Optional vazio.
4
Opcional flatMap(Função> mapeador)

Se um valor estiver presente, ele aplicará a função de mapeamento de rolamento Opcional fornecida a ele, retornará esse resultado, caso contrário, retornará um Opcional vazio.
5
T get()

Se um valor estiver presente neste Optional, retornará o valor, caso contrário, lançará NoSuchElementException.
6
int hashCode()

Retorna o valor do código hash do valor presente, se houver, ou 0 (zero) se nenhum valor estiver presente.
7
void ifPresent(Consumidor consumidor)

Se um valor estiver presente, ele invocará o consumidor especificado com o valor, caso contrário não fará nada.
8
booleano isPresent()

Retorna true se houver um valor presente, caso contrário, false.
9
Mapa opcional(Função mapeador)

Se um valor estiver presente, aplica a função de mapeamento fornecida a ele e, se o resultado não for nulo, retorna um Opcional descrevendo o resultado.
10
estático Opcional de(valor T)

Retorna um Opcional com o valor não nulo presente especificado.
11
estático Opcional de Nullable(T value)

Retorna um Optional descrevendo o valor especificado, se não for nulo, caso contrário, retorna um Optional vazio.
12
T ouSenão(T outro)

Retorna o valor se presente, caso contrário retorna outro.
13
T orElseGet(Fornecedor outro)

Retorna o valor se presente, caso contrário invoca outro e retorna o resultado dessa invocação.
14
T orElseThrow(Fornecedor exceçãoSupplier)


Retorna o valor contido, se presente, caso contrário lança uma exceção a ser criada pelo fornecedor fornecido.
15
String toString()

Retorna uma representação de string não vazia deste Opcional adequado para depuração.

Esta classe herda métodos da seguinte classe -

Exemplo opcional


Crie o seguinte programa Java usando qualquer editor de sua escolha em, digamos, C:\> JAVA.

Java8Tester.java

Demonstração ao vivo
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;
   }
}

Verifique o resultado


Compile a classe usando javac compilador da seguinte forma -
C:\JAVA>javac Java8Tester.java

Agora execute o Java8Tester da seguinte forma -
C:\JAVA>java Java8Tester

Deve produzir a seguinte saída -
First parameter is present: false
Second parameter is present: true
10

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Classe estática aninhada em Java
  4. Classe anônima Java
  5. Classe Java Singleton
  6. Reflexão Java
  7. Classe Java ObjectOutputStream
  8. Genéricos Java
  9. Classe de arquivo Java
  10. Java 9 - Melhorias de classe opcionais