Учебники

Гуава — Обзор

Guava — это библиотека с открытым исходным кодом, основанная на Java и содержащая множество основных библиотек Google, которые используются во многих их проектах. Это облегчает лучшие практики кодирования и помогает уменьшить ошибки кодирования. Он предоставляет служебные методы для коллекций, кэширования, поддержки примитивов, параллелизма, общих аннотаций, обработки строк, ввода-вывода и проверок.

Преимущества гуавы

  • Стандартизировано — библиотека Guava управляется Google.

  • Эффективный — это надежное, быстрое и эффективное расширение стандартной библиотеки Java.

  • Оптимизировано — библиотека высоко оптимизирована.

  • Функциональное программирование — добавляет функциональные возможности обработки в Java.

  • Утилиты — предоставляет множество классов утилит, которые регулярно требуются при разработке программных приложений.

  • Проверка. Предоставляет стандартный отказоустойчивый механизм проверки.

  • Лучшие практики — Делается акцент на лучших практиках.

Стандартизировано — библиотека Guava управляется Google.

Эффективный — это надежное, быстрое и эффективное расширение стандартной библиотеки Java.

Оптимизировано — библиотека высоко оптимизирована.

Функциональное программирование — добавляет функциональные возможности обработки в Java.

Утилиты — предоставляет множество классов утилит, которые регулярно требуются при разработке программных приложений.

Проверка. Предоставляет стандартный отказоустойчивый механизм проверки.

Лучшие практики — Делается акцент на лучших практиках.

Рассмотрим следующий фрагмент кода.

public class GuavaTester {
   public static void main(String args[]) {
      GuavaTester guavaTester = new GuavaTester();
      
      Integer a =  null;
      Integer b =  new Integer(10);
      System.out.println(guavaTester.sum(a,b));
   }

   public Integer sum(Integer a, Integer b) {
      return a + b;
   }	
}

Запустите программу, чтобы получить следующий результат.

Exception in thread "main" java.lang.NullPointerException
   at GuavaTester.sum(GuavaTester.java:13)
   at GuavaTester.main(GuavaTester.java:9)

Ниже приведены проблемы с кодом.

  • sum () не заботится о каких-либо параметрах, которые должны быть переданы как нулевые.

  • Вызывающая функция также не беспокоится о случайной передаче нулевого метода sum ().

  • Когда программа запускается, возникает исключение NullPointerException.

sum () не заботится о каких-либо параметрах, которые должны быть переданы как нулевые.

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

Когда программа запускается, возникает исключение NullPointerException.

Чтобы избежать вышеупомянутых проблем, нулевая проверка должна быть сделана в каждом месте, где такие проблемы присутствуют.

Давайте рассмотрим использование Optional, класса утилит, предоставляемого Guava, для стандартного решения вышеуказанных проблем.

import com.google.common.base.Optional;

public class GuavaTester {
   public static void main(String args[]) {
      GuavaTester guavaTester = new GuavaTester();

      Integer invalidInput = null;
		Optional<Integer> a =  Optional.of(invalidInput);
      Optional<Integer> b =  Optional.of(new Integer(10));
      System.out.println(guavaTester.sum(a,b));      
   }

   public Integer sum(Optional<Integer> a, Optional<Integer> b) {
      return a.get() + b.get();
   }	
}

Запустите программу, чтобы получить следующий результат.

Exception in thread "main" java.lang.NullPointerException
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
	at com.google.common.base.Optional.of(Optional.java:85)
	at GuavaTester.main(GuavaTester.java:8)

Давайте разберемся с важными концепциями вышеуказанной программы.

  • Необязательно — служебный класс, чтобы код правильно использовал нуль.

  • Optional.of — возвращает экземпляр класса Optional, который будет использоваться в качестве параметра. Он проверяет переданное значение, чтобы не быть «нулевым».

  • Optional.get — получает значение ввода, хранящегося в классе Optional.

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

Optional.of — возвращает экземпляр класса Optional, который будет использоваться в качестве параметра. Он проверяет переданное значение, чтобы не быть «нулевым».

Optional.get — получает значение ввода, хранящегося в классе Optional.

Используя класс Optional, вы можете проверить, передает ли метод вызывающей стороны правильный параметр или нет.