Latest web development tutorials

Java 8 klas opcjonalne

Java 8 nowych funkcji Java 8 nowych funkcji


Opcjonalnie klasy jest obiekt kontener może być zerowy. Jeśli wartość istnieje metoda isPresent () zwraca true, wywołania metody get () zwraca obiekt.

Opcjonalnie jest kontenerem: może posiadać wartości typu T, lub po prostu zapisać wartość null. Opcjonalne oferuje wiele użytecznych sposobów, więc nie wykonywać wyraźne wykrywanie wartości NULL.

Opcjonalne wprowadzenie klasy dobrym rozwiązaniem null wyjątkiem wskaźnika.

deklaracja klasy

Poniżej znajduje się zestawieniejava.util.Optional <T> klasy:

public final class Optional<T>
extends Object

metody klas

Nie. Sposób i opis
1 static <T> Opcjonalny <T> empty ()

Powrót pusty Opcjonalnie instancja.

2 boolean equals (Object obj)

Ustalenie, czy inny obiekt jest równy opcjonalne.

3 Opcjonalnie <T> Filtr (Predicate < ? Super <T> orzecznik)

Jeśli wartość istnieje, a wartość ta odpowiada dany predykat, zwraca Opcjonalny opis tej wartości, w przeciwnym wypadku zwraca pusty opcjonalne.

4 <U> Opcjonalny <U> flatMap (Funkcja <? Super T Opcjonalne <U >> odwzorowujący)

Jeśli wartość nie istnieje, metoda mapowania wartość zwracana Opcjonalnie zawarte w tym dokumencie opiera się, w przeciwnym razie zwraca pusty Opcjonalne

5 T get ()

Jeśli zawierają wartość tego opcjonalnego, wartość zwracana, w przeciwnym razie na wyjątek: NoSuchElementException

6 int hashCode ()

Zwraca wartość hash code istnieje, zwraca 0, jeśli wartość nie istnieje.

7 void ifPresent (Consumer <? Super T > konsumentów)

Jeżeli wartość jest obecna wartość jest używana zadzwonić konsumenta, w przeciwnym razie nic nie robić.

8 logiczna isPresent ()

Jeśli wartość istnieje metoda zwraca wartość true, w przeciwnym razie zwraca false.

9 <U> Opcjonalny <U> Mapa (Funkcja <? Super T? Rozciąga u> odwzorowujący)

Jeśli wartość tej metody mapowania, obecność pod warunkiem, jeśli zwraca NULL, zwraca wynik opcjonalny opis.

10 static <T> Opcjonalny <T> z (wartość T)

Zwraca określoną Opcjonalna wartość niezerową.

11 static <T> Opcjonalny <T> ofNullable (wartość T)

Jeśli niezerowe, zwraca określoną wartość opisaną Opcjonalnie, w przeciwnym razie pusty opcjonalne.

12 T OrElse (T inne)

Jeśli wartość nie istnieje, wartość zwracana, w przeciwnym razie inne.

13 T orElseGet (Dostawca <? Rozszerza T > inne)

Jeśli wartość nie istnieje, wartość zwracana, w przeciwnym razie wywołać drugą i zwraca wynik innego połączenia.

14 <X rozciąga Throwable> T orElseThrow ( Dostawca <? Rozszerza X> exceptionSupplier)

Jeżeli wartość jest obecna, wartość zwracana zawiera inny wyrzucony przez dostawcę dziedziczone nieprawidłowości

15 String toString ()

Zwraca niepusty ciąg opcjonalny, używany do debugowania

UWAGA: Metody te są dziedziczone z klasy java.lang.Objectprzyjść.


opcjonalne przykłady

Możemy za pomocą następujących przykładów, aby lepiej zrozumieć wykorzystanie zajęć fakultatywnych:

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 - 允许传递为 null 参数
      Optional<Integer> a = Optional.ofNullable(value1);
		
      // Optional.of - 如果传递的参数是 null,抛出异常 NullPointerException
      Optional<Integer> b = Optional.of(value2);
      System.out.println(java8Tester.sum(a,b));
   }
	
   public Integer sum(Optional<Integer> a, Optional<Integer> b){
	
      // Optional.isPresent - 判断值是否存在
		
      System.out.println("第一个参数值存在: " + a.isPresent());
      System.out.println("第二个参数值存在: " + b.isPresent());
		
      // Optional.orElse - 如果值存在,返回它,否则返回默认值
      Integer value1 = a.orElse(new Integer(0));
		
      //Optional.get - 获取值,值需要存在
      Integer value2 = b.get();
      return value1 + value2;
   }
}

Realizacja powyższego scenariusza, wyjście jest:

$ javac Java8Tester.java 
$ java Java8Tester
第一个参数值存在: false
第二个参数值存在: true
10

Java 8 nowych funkcji Java 8 nowych funkcji