Ổ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)