Lớp/phương pháp tiện ích

Lớp tiện ích là lớp trợ giúp với các biến tĩnh và phương thức tĩnh thực hiện một danh sách cụ thể các tác vụ liên quan.

Hãy xem các ví dụ về các lớp tiện ích tiêu chuẩn:

java.lang.Math Lớp này, có thể thực hiện nhiều phép tính toán học khác nhau, cung cấp cho chúng ta một số hằng số toán học.
java.util.Arrays Lớp chứa các phương thức khác nhau để làm việc với mảng (chẳng hạn như sắp xếp và tìm kiếm chúng). Lớp này cũng có một nhà máy tĩnh cho phép chúng ta xem các mảng dưới dạng danh sách.
java.lang.System Lớp này thực hiện các phương thức để làm việc với hệ thống. Chúng tôi thường sử dụng nó để hiển thị văn bản trên bảng điều khiển. Để làm điều này, chúng tôi tham chiếu tĩnhngoàibiến lưu trữ một đối tượng PrintStream và gọi phương thức println của nó ( System.out.println ).

Chúng ta cũng có thể tự tạo một lớp tiện ích: để làm điều này, chúng ta chỉ cần tạo một lớp với các phương thức công khai tĩnh mà chúng ta cần. Nhưng hãy nhớ rằng bạn phải có lý do chính đáng để tạo một lớp tiện ích. Ví dụ: có lẽ bạn cần sử dụng cùng một phương thức hoặc tập hợp các phương thức để thực hiện một tác vụ đơn lẻ (chẳng hạn như một phép tính phức tạp) trong một số lớp khác nhau.

Hãy xem một ví dụ về lớp tiện ích — lớp Đường dẫn .

lớp đường dẫn

Lớp này chỉ bao gồm một phương thức get tĩnh có hai biến thể với các danh sách tham số khác nhau.

Các đối số mà chúng ta có thể truyền vào phương thức get là:

get(Chuỗi trước, Chuỗi... thêm) Toàn bộ đường dẫn hoặc danh sách tên thư mục và (hoặc) tệp trong đối số cuối cùng.
nhận (URI uri) Một URI.

Lớp tiện ích này giải quyết vấn đề chuyển đổi một đường dẫn (ở dạng chuỗi) hoặc URI thành Đường dẫn . Chúng tôi đã khám phá Đường dẫn và hiểu lý do tại sao chúng tôi cần nó và cách chúng tôi có thể làm việc với nó.

Khi điều đó xảy ra, chúng ta thường xử lý các đường dẫn ở dạng Chuỗi hoặc URI. Đây là nơi chúng ta có thể sử dụng các phương thức của lớp tiện ích Paths .

Hãy xem xét các ví dụ:

Ví dụ Bình luận
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Chúng tôi chuyển phương thức get một Chuỗi (đường dẫn đến tệp) và nhận một Đường dẫn . Sau đó, chúng tôi có thể làm việc với nó khi cần thiết.
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
Một Đường dẫn cũng có thể được lấy từ một URI.
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
Chúng tôi chỉ ra chuỗi tên thư mục và tên của tệp có đường dẫn cần thiết.

Nhưng có một lưu ý ở đây. Với sự xuất hiện của Java 11, mọi triển khai phương thức get đều gọi Path.of .

public static Path get(String first, String... more) {
    return Path.of(first, more);
}

public static Path get(URI uri) {
    return Path.of(uri);
}

Lớp tiện ích này có thể được tuyên bố là không dùng nữa, vì vậy chúng ta nên sử dụng Path.of để thay thế.

Trước Sau đó
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Path path =
Path.of("C:\\Users\\User\\Documents\\MyFile.txt");
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Path.of(URI.create("file:///Users/User/Code/MyClass.java"));
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
ath path = Path.of(System.getProperty("user.home"),"documents", "document.txt");