Ổi - Lớp điều kiện tiên quyết
Điều kiện tiên quyết cung cấp các phương thức tĩnh để kiểm tra xem một phương thức hoặc một phương thức khởi tạo có được gọi với tham số thích hợp hay không. Nó kiểm tra các điều kiện trước. Các phương thức của nó khiến IllegalArgumentException bị lỗi.
Khai báo lớp học
Sau đây là khai báo cho com.google.common.base.Preconditions lớp học -
@GwtCompatible
public final class Preconditions
extends Object
Phương pháp lớp học
Sr.No | Phương pháp & Mô tả |
---|---|
1 | static void checkArgument(boolean expression) Đảm bảo tính trung thực của một biểu thức liên quan đến một hoặc nhiều tham số cho phương thức gọi. |
2 | static void checkArgument(boolean expression, Object errorMessage) Đảm bảo tính trung thực của một biểu thức liên quan đến một hoặc nhiều tham số cho phương thức gọi. |
3 | static void checkArgument(boolean expression, String errorMessageTemplate, Object. errorMessageArgs) Đảm bảo tính trung thực của một biểu thức liên quan đến một hoặc nhiều tham số cho phương thức gọi. |
4 | static int checkElementIndex(int index, int size) Đảm bảo rằng chỉ mục chỉ định một phần tử hợp lệ trong một mảng, danh sách hoặc một chuỗi có kích thước. |
5 | static int checkElementIndex(int index, int size, String desc) Đảm bảo rằng chỉ mục chỉ định một phần tử hợp lệ trong một mảng, danh sách hoặc một chuỗi có kích thước. |
6 | static <T> T checkNotNull(T reference) Đảm bảo rằng một tham chiếu đối tượng được truyền dưới dạng tham số cho phương thức gọi không phải là giá trị rỗng. |
7 | static <T> T checkNotNull(T reference, Object errorMessage) Đảm bảo rằng một tham chiếu đối tượng được truyền dưới dạng tham số cho phương thức gọi không phải là giá trị rỗng. |
số 8 | static <T> T checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs) Đảm bảo rằng một tham chiếu đối tượng được truyền dưới dạng tham số cho phương thức gọi không phải là giá trị rỗng. |
9 | static int checkPositionIndex(int index, int size) Đảm bảo rằng chỉ mục chỉ định một vị trí hợp lệ trong một mảng, danh sách hoặc một chuỗi có kích thước. |
10 | static int checkPositionIndex(int index, int size, String desc) Đảm bảo rằng chỉ mục chỉ định một vị trí hợp lệ trong một mảng, danh sách hoặc một chuỗi có kích thước. |
11 | static void checkPositionIndexes(int start, int end, int size) Đảm bảo rằng bắt đầu và kết thúc chỉ định một vị trí hợp lệ trong một mảng, danh sách hoặc một chuỗi có kích thước và theo thứ tự. |
12 | static void checkState(boolean expression) Đảm bảo tính trung thực của một biểu thức liên quan đến trạng thái của cá thể đang gọi, nhưng không liên quan đến bất kỳ tham số nào đối với phương thức gọi. |
13 | static void checkState(boolean expression, Object errorMessage) Đảm bảo tính trung thực của một biểu thức liên quan đến trạng thái của cá thể đang gọi, nhưng không liên quan đến bất kỳ tham số nào đối với phương thức gọi. |
14 | static void checkState(boolean expression, String errorMessageTemplate, Object... errorMessageArgs) Đảm bảo tính trung thực của một biểu thức liên quan đến trạng thái của cá thể đang gọi, nhưng không liên quan đến bất kỳ tham số nào đối với phương thức gọi. |
Phương thức được kế thừa
Lớp này kế thừa các phương thức từ lớp sau:
- java.lang.Object
Ví dụ về Lớp điều kiện tiên quyết
Tạo chương trình java sau bằng cách sử dụng bất kỳ trình soạn thảo nào bạn chọn 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;
}
}
Xác minh kết quả
Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\Guava>javac GuavaTester.java
Bây giờ hãy chạy GuavaTester để xem kết quả.
C:\Guava>java GuavaTester
Xem kết quả.
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)