구아바-전제 조건 클래스
전제 조건은 메서드 또는 생성자가 적절한 매개 변수로 호출되는지 여부를 확인하는 정적 메서드를 제공합니다. 사전 조건을 확인합니다. 해당 메서드는 실패시 IllegalArgumentException을 발생시킵니다.
클래스 선언
다음은에 대한 선언입니다. com.google.common.base.Preconditions 클래스-
@GwtCompatible
public final class Preconditions
extends Object
수업 방법
Sr. 아니요 | 방법 및 설명 |
---|---|
1 | static void checkArgument(boolean expression) 호출 메서드에 대한 하나 이상의 매개 변수를 포함하는 식의 진실을 보장합니다. |
2 | static void checkArgument(boolean expression, Object errorMessage) 호출 메서드에 대한 하나 이상의 매개 변수를 포함하는 식의 진실을 보장합니다. |
삼 | static void checkArgument(boolean expression, String errorMessageTemplate, Object. errorMessageArgs) 호출 메서드에 대한 하나 이상의 매개 변수를 포함하는 식의 진실을 보장합니다. |
4 | static int checkElementIndex(int index, int size) 인덱스가 배열, 목록 또는 문자열 크기의 유효한 요소를 지정하는지 확인합니다. |
5 | static int checkElementIndex(int index, int size, String desc) 인덱스가 배열, 목록 또는 문자열 크기의 유효한 요소를 지정하는지 확인합니다. |
6 | static <T> T checkNotNull(T reference) 호출 메서드에 매개 변수로 전달 된 개체 참조가 null이 아닌지 확인합니다. |
7 | static <T> T checkNotNull(T reference, Object errorMessage) 호출 메서드에 매개 변수로 전달 된 개체 참조가 null이 아닌지 확인합니다. |
8 | static <T> T checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs) 호출 메서드에 매개 변수로 전달 된 개체 참조가 null이 아닌지 확인합니다. |
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(boolean expression) 호출 인스턴스의 상태를 포함하지만 호출 메서드에 대한 매개 변수는 포함하지 않는 식의 진실을 확인합니다. |
13 | static void checkState(boolean expression, Object errorMessage) 호출 인스턴스의 상태를 포함하지만 호출 메서드에 대한 매개 변수는 포함하지 않는 식의 진실을 확인합니다. |
14 | static void checkState(boolean expression, 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
결과를 확인하십시오.
Illegal Argument passed: Negative value -3.0.
Illegal Argument passed: First parameter is Null.
Illegal Argument passed: Invalid index. (6) must be less than size (5)