Рубрики
Без рубрики

Java Необязательно

Java Необязательно, Java 8 Необязательно, Пример Java Необязательно, Учебник По Java Необязательно, Java Необязательно, если присутствует, Дополнительный фильтр, Дополнительный пример карты, Дополнительный Java

Автор оригинала: Pankaj Kumar.

В этой статье мы рассмотрим необязательный класс Java, который был представлен в Java 8.

Java Необязательно

  • Одним из наиболее частых исключений в программировании на Java является Исключение NullPointerException . Значение Null часто представляет собой отсутствие значения, которое необходимо обработать, прежде чем переходить к обычной бизнес-логике, что приводит к ненужным проверкам на нуль.
  • Чтобы обработать такой код котельной плиты для ситуаций проверки на нуль, Java 8 ввела Необязательный класс. В этой статье мы подробно рассмотрим, как API необязательного класса Java 8 помогает нам работать со значениями null.
  • Java 8 stream API и методы сбора могут возвращать Необязательные объекты. Он может содержать или не содержать ненулевое значение. В API доступны различные методы для обработки необязательного значения удобным и надежным способом.
  • Java Необязательно является последним классом.

Необязательный пример Java 8

Давайте рассмотрим пример, чтобы получить четкое представление о том, когда было бы полезно использовать объекты Необязательного класса.

List listOfStrings = Arrays.asList("Mark", "Howard", "Anthony D'Cornian");
Optional largeString 
  = listOfStrings.stream().filter(str -> str.length() > 10).findAny();
largeString.ifPresent(System.out::println);

Optional veryLargeString 
  = listOfStrings.stream().filter(str -> str.length() > 20).findAny();
veryLargeString.ifPresent(System.out::println);

Выход:

Anthony D'Cornian

Как мы видим, мы хотим отфильтровать список строк и получить значение, длина которого превышает пороговое значение.

Такие значения могут существовать или не существовать в списке. Необязательно API был бы идеальным выбором для использования в таких ситуациях. Как вы можете видеть, у него есть метод ifPresent , который позволяет нам определить, что делать со значением, если мы его получим.

В нашем случае очень большая строка не будет содержать никакого значения, поэтому ничего не будет напечатано.

Дополнительный API Java 8 предоставляет несколько таких методов. В следующих разделах мы рассмотрим их подробно.

Дополнительные методы Java

  1. статический необязательный пустой() : Он создает и возвращает пустой Необязательный экземпляр.
  2. логическое значение isPresent() : Оно возвращает значение true, если присутствует значение, в противном случае значение false.

  3. void ifPresent(потребительский потребитель) : Если значение присутствует, этот метод вызывает указанного потребителя со значением, в противном случае ничего не делает. Как мы видим, в нашем первом примере:

    дал выход:

  4. T get() : Если значение присутствует в необязательном, этот метод возвращает значение, в противном случае вызывает исключение NoSuchElementException. Как вы, возможно, уже догадались

    также будет напечатана

  5. T OrElse(T Другое значение) : Этот метод возвращает значение, если оно присутствует, в противном случае возвращает другое значение, указанное в аргументе. Когда мы не уверены, будет ли Необязательно содержать значение, всегда полезно использовать этот метод, а не простой get() .

    напечатает:

    Также доступен метод orElseGet(Поставщик другой) , который вызывает функцию поставщика или выполняет лямбда-код для получения значения вместо возврата жестко закодированного значения.

    также будет выведено то же значение.

  6. статический необязательный (значение T) : Возвращает необязательный параметр с указанным текущим ненулевым значением.

  7. Необязательный фильтр(Предикат предиката) : Он принимает предикат в качестве аргумента и возвращает необязательный объект. Если условие предиката выполнено, то Необязательный параметр возвращается как есть, в противном случае он вернет пустой Необязательный .

    Выход:

Существуют также методы equals() , hashcode() и toString () , доступные в дополнительном API.

Дополнительные улучшения класса Java 9

Java 9 представила несколько дополнительных методов в необязательном классе:

  1. публичная недействительность, если представитель(Потребитель супер T> действие, выполняемое пустое действие) : Если значение присутствует, выполняет данное действие со значением, в противном случае выполняет данное действие на основе пустого. супер T> действие, выполняемое пустое действие)
  2. : Если значение присутствует, выполняет данное действие со значением, в противном случае выполняет данное действие на основе пустого.
  3. общедоступный Необязательный или(Поставщик расширяет Необязательный расширяет T>> поставщик): Если значение присутствует, возвращает необязательное значение, описывающее значение, в противном случае возвращает необязательное значение, созданное функцией поставки. расширяет Необязательный расширяет T>> поставщик): Если значение присутствует, возвращает необязательное значение, описывающее значение, в противном случае возвращает необязательное значение, созданное функцией поставки. расширяет T>> поставщик): Если значение присутствует, возвращает необязательное значение, описывающее значение, в противном случае возвращает необязательное значение, созданное функцией поставки. общедоступный поток stream()

Это все для необязательного класса Java. Вам также следует ознакомиться с функциями java 8 .

Ссылка: API Doc