Kelas/metode utilitas

Kelas utilitas adalah kelas pembantu dengan variabel statis dan metode statis yang melakukan daftar spesifik tugas terkait.

Mari kita lihat contoh kelas utilitas standar:

java.lang.Math Kelas ini, yang dapat melakukan banyak perhitungan matematis yang berbeda, memberi kita beberapa konstanta matematika.
java.util.Arrays Kelas berisi berbagai metode untuk bekerja dengan array (seperti menyortir dan mencarinya). Kelas ini juga memiliki pabrik statis yang memungkinkan kita melihat array sebagai daftar.
java.lang.Sistem Kelas ini mengimplementasikan metode untuk bekerja dengan sistem. Paling sering kami menggunakannya untuk menampilkan teks di konsol. Untuk melakukan ini, kami mereferensikan statiskeluarvariabel, yang menyimpan objek PrintStream , dan memanggil metode println ( System.out.println ).

Kita juga dapat membuat kelas utilitas sendiri: untuk melakukan ini, kita cukup membuat kelas dengan metode publik statis yang kita perlukan. Tapi ingat bahwa Anda harus memiliki alasan yang bagus untuk membuat kelas utilitas. Misalnya, mungkin Anda perlu menggunakan metode atau rangkaian metode yang sama untuk melakukan satu tugas (seperti perhitungan kompleks) di beberapa kelas yang berbeda.

Mari kita lihat contoh kelas utilitas — kelas Paths .

Kelas jalan

Kelas ini hanya terdiri dari satu metode get statis yang memiliki dua varian dengan daftar parameter yang berbeda.

Argumen yang bisa kita berikan ke metode get adalah:

get(String dulu, String... more) Seluruh jalur atau daftar nama direktori dan (atau) file di argumen terakhir.
dapatkan (URI uri) Sebuah URI.

Kelas utilitas ini memecahkan masalah konversi jalur (dalam bentuk string) atau URI ke Path . Kami telah menjelajahi Path dan memahami mengapa kami membutuhkannya dan bagaimana kami dapat bekerja dengannya.

Seperti yang terjadi, kita sering berurusan dengan jalur dalam bentuk String atau URI. Di sinilah kita dapat menggunakan metode kelas utilitas Paths .

Mari kita lihat contoh:

Contoh Komentar
Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
Kami melewatkan metode get a String (path ke file) dan mendapatkan Path . Kemudian kita dapat mengerjakannya sesuai kebutuhan.
Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
Path juga dapat diperoleh dari URI .
Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
Kami menunjukkan urutan nama direktori dan nama file yang jalurnya sesuai kebutuhan.

Tapi ada peringatan di sini. Dengan hadirnya Java 11, implementasi apa pun dari metode get akan memanggil 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);
}

Kelas utilitas ini mungkin dinyatakan tidak digunakan lagi, jadi kita harus menggunakan Path.of sebagai gantinya.

Sebelum Setelah
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");