Предварительные условия предоставляют статические методы для проверки того, что метод или конструктор вызывается с правильным параметром или нет. Он проверяет предварительные условия. Его методы выдают IllegalArgumentException при сбое.
Декларация класса
Ниже приводится объявление для класса com.google.common.base.Preconditions.
@GwtCompatible public final class Preconditions extends Object
Методы класса
Sr.No | Метод и описание |
---|---|
1 |
static void checkArgument (логическое выражение) Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу. |
2 |
static void checkArgument (логическое выражение, объект errorMessage) Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу. |
3 |
static void checkArgument (логическое выражение, String errorMessageTemplate, Object. errorMessageArgs) Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу. |
4 |
static int checkElementIndex (индекс int, размер int) Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера. |
5 |
static int checkElementIndex (индекс int, размер int, строка String) Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера. |
6 |
static <T> T checkNotNull (ссылка T) Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю. |
7 |
static <T> T checkNotNull (ссылка T, объект errorMessage) Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю. |
8 |
static <T> T checkNotNull (ссылка T, строка errorMessageTemplate, Object … errorMessageArgs) Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю. |
9 |
static int checkPositionIndex (int index, int size) Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера. |
10 |
static int checkPositionIndex (int index, int size, String desc) Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера. |
11 |
static void checkPositionIndexes (int start, int end, int size) Гарантирует, что начало и конец задают правильные позиции в массиве, списке или строке размера и располагаются по порядку. |
12 |
static void checkState (логическое выражение) Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода. |
13 |
static void checkState (логическое выражение, объект errorMessage) Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода. |
14 |
static void checkState (логическое выражение, String errorMessageTemplate, Object … errorMessageArgs) Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода. |
static void checkArgument (логическое выражение)
Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.
static void checkArgument (логическое выражение, объект errorMessage)
Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.
static void checkArgument (логическое выражение, String errorMessageTemplate, Object. errorMessageArgs)
Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.
static int checkElementIndex (индекс int, размер int)
Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.
static int checkElementIndex (индекс int, размер int, строка String)
Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.
static <T> T checkNotNull (ссылка T)
Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.
static <T> T checkNotNull (ссылка T, объект errorMessage)
Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.
static <T> T checkNotNull (ссылка T, строка errorMessageTemplate, Object … errorMessageArgs)
Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.
static int checkPositionIndex (int index, int size)
Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.
static int checkPositionIndex (int index, int size, String desc)
Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.
static void checkPositionIndexes (int start, int end, int size)
Гарантирует, что начало и конец задают правильные позиции в массиве, списке или строке размера и располагаются по порядку.
static void checkState (логическое выражение)
Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.
static void checkState (логическое выражение, объект errorMessage)
Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.
static void checkState (логическое выражение, String errorMessageTemplate, Object … errorMessageArgs)
Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.
Унаследованные методы
Этот класс наследует методы из следующего класса —
- java.lang.Object
Пример класса предварительных условий
Создайте следующую Java-программу, используя любой редактор по вашему выбору, скажем, C: /> Guava.
GuavaTester.java
import com.google.common.base.Preconditions; public class GuavaTester { public static void main(String args[]) { GuavaTester guavaTester = new GuavaTester(); try { System.out.println(guavaTester.sqrt(-3.0)); } catch(IllegalArgumentException e) { System.out.println(e.getMessage()); } try { System.out.println(guavaTester.sum(null,3)); } catch(NullPointerException e) { System.out.println(e.getMessage()); } try { System.out.println(guavaTester.getValue(6)); } catch(IndexOutOfBoundsException e) { System.out.println(e.getMessage()); } } public double sqrt(double input) throws IllegalArgumentException { Preconditions.checkArgument(input > 0.0, "Illegal Argument passed: Negative value %s.", input); return Math.sqrt(input); } public int sum(Integer a, Integer b) { a = Preconditions.checkNotNull(a, "Illegal Argument passed: First parameter is Null."); b = Preconditions.checkNotNull(b, "Illegal Argument passed: Second parameter is Null."); return a+b; } public int getValue(int input) { int[] data = {1,2,3,4,5}; Preconditions.checkElementIndex(input,data.length, "Illegal Argument passed: Invalid index."); return 0; } }
Проверьте результат
Скомпилируйте класс с помощью компилятора javac следующим образом:
C:\Guava>javac GuavaTester.java
Теперь запустите GuavaTester, чтобы увидеть результат.
C:\Guava>java GuavaTester
Смотрите результат.