Kelas/kaedah utiliti

Kelas utiliti ialah kelas pembantu dengan pembolehubah statik dan kaedah statik yang melaksanakan senarai tugas berkaitan tertentu.

Mari lihat contoh kelas utiliti standard:

java.lang.Math Kelas ini, yang boleh melakukan banyak pengiraan matematik yang berbeza, memberikan kita beberapa pemalar matematik.
java.util.Arrays Kelas mengandungi pelbagai kaedah untuk bekerja dengan tatasusunan (seperti menyusun dan mencarinya). Kelas ini juga mempunyai kilang statik yang membolehkan kami melihat tatasusunan sebagai senarai.
java.lang.System Kelas ini melaksanakan kaedah untuk bekerja dengan sistem. Selalunya kami menggunakannya untuk memaparkan teks pada konsol. Untuk melakukan ini, kami merujuk kepada statikkeluarpembolehubah, yang menyimpan objek PrintStream , dan memanggil kaedah printlnnya ( System.out.println ) .

Kami juga boleh membuat kelas utiliti sendiri: untuk melakukan ini, kami hanya mencipta kelas dengan kaedah awam statik yang kami perlukan. Tetapi ingat bahawa anda sepatutnya mempunyai alasan yang baik untuk mencipta kelas utiliti. Sebagai contoh, mungkin anda perlu menggunakan kaedah atau set kaedah yang sama untuk melaksanakan satu tugasan (seperti pengiraan kompleks) dalam beberapa kelas yang berbeza.

Mari lihat contoh kelas utiliti — kelas Paths .

Kelas laluan

Kelas ini hanya terdiri daripada satu kaedah dapatkan statik yang mempunyai dua varian dengan senarai parameter yang berbeza.

Argumen yang boleh kita hantar ke kaedah get ialah:

dapatkan(String dahulu, String... lagi) Satu laluan keseluruhan atau senarai nama direktori dan (atau) fail dalam hujah terakhir.
dapatkan(URI uri) A URI.

Kelas utiliti ini menyelesaikan masalah menukar laluan (dalam bentuk rentetan) atau URI kepada Laluan . Kami telah meneroka Path dan memahami sebab kami memerlukannya dan cara kami boleh bekerja dengannya.

Seperti yang berlaku, kita sering berurusan dengan laluan dalam bentuk Strings atau URI. Di sinilah kita boleh menggunakan kaedah kelas utiliti Paths .

Mari lihat contoh:

Contoh Komen

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
Kami lulus kaedah get String (laluan ke fail) dan dapatkan Path . Kemudian kita boleh bekerja dengannya mengikut keperluan.

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
Laluan juga boleh diperolehi daripada URI.

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
Kami menunjukkan urutan nama direktori dan nama fail yang laluannya dengan keperluan.

Tetapi ada kaveat di sini. Dengan ketibaan Java 11, sebarang pelaksanaan kaedah get 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 utiliti ini mungkin diisytiharkan tidak digunakan, jadi kita harus menggunakan Path.of sebaliknya.

Sebelum ini Selepas

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