Sejauh yang saya tahu, Paths.get
dan Path.of
tampaknya melakukan hal yang persis sama, mengubah satu atau lebih string menjadi Path
objek; dokumentasi https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...- dan https: //docs.oracle.com/en/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String ,java.lang.String ... ) menggunakan kata-kata yang sama. Apakah mereka sebenarnya identik?
Path.of
diperkenalkan kemudian. Dugaan: itu diperkenalkan demi Foo.of
gaya yang konsisten . Dalam hal itu, itu akan dianggap lebih disukai atas dasar konsistensi / estetika?
Path.of
karena tidak memerlukan impor tambahanJawaban:
Memang,
Path.of
kemudian diperkenalkan.Dari arsip milis, metode ini pernah disebut
Path.get
:Ini kemudian diubah ketika Brian Goetz menyarankan agar konsisten dengan
Foo.of
:Sekarang untuk pertanyaan terakhir Anda: "Dalam hal itu, itu akan dianggap lebih disukai berdasarkan konsistensi / estetika?"
Dalam surat awal Brian Burkhalter mengatakan bahwa ia memperbarui semua referensi ke metode baru di
Path
:Jadi saya akan menyimpulkan bahwa
Path.of
memang lebih disukaiPaths.get
.Memang, jika Anda melihat Javadoc
Paths
untuk Java 13 Anda akan menemukan catatan ini:sumber
Paths
. Menggunakan metode pabrik antarmuka mengurangi jumlah jenis, kode harus berurusan dengan. Gaya penamaan hanyalah hal lain yang telah direvisi karena ada peluang ini.