Saya ingin membuat salah satu metode saya "usang" = tidak digunakan lagi.
Tapi saya tetap ingin memilikinya di API saya. Saya hanya ingin menunjukkan "peringatan" kepada siapa pun yang menggunakan metode itu.
Bagaimana saya bisa mencapainya?
Saya ingin membuat salah satu metode saya "usang" = tidak digunakan lagi.
Tapi saya tetap ingin memilikinya di API saya. Saya hanya ingin menunjukkan "peringatan" kepada siapa pun yang menggunakan metode itu.
Bagaimana saya bisa mencapainya?
Jawaban:
Gunakan @Deprecatedpada metode. Jangan lupa tentang klarifikasi bidang javadoc:
/**
* Does some thing in old style.
*
* @deprecated use {@link #new()} instead.
*/
@Deprecated
public void old() {
// ...
}
reasondengan nilai default ""tidak ada salahnya
@deprecatedpesan dalam komentar dapat ditambahkan ke @Deprecated(satu tempat untuk memperbaiki semuanya) ...
Gunakan @Deprecatedanotasi dan @deprecatedtag JavaDoc.
The @deprecatedtag javadoc digunakan untuk tujuan dokumentasi.
The @Deprecatedpenjelasan menginstruksikan compiler bahwa metode ini usang. Inilah yang tertulis dalam dokumen Sun / Oracles tentang masalah ini:
Menggunakan
@Deprecatedanotasi untuk menghilangkan kelas, metode, atau bidang memastikan bahwa semua kompiler akan mengeluarkan peringatan ketika kode menggunakan elemen program itu. Sebaliknya, tidak ada jaminan bahwa semua kompiler akan selalu mengeluarkan peringatan berdasarkan@deprecatedtag Javadoc, meskipun kompiler Sun saat ini melakukannya. Kompiler lain mungkin tidak mengeluarkan peringatan seperti itu. Jadi, menggunakan@Deprecatedanotasi untuk menghasilkan peringatan lebih portabel yang mengandalkan@deprecatedtag Javadoc.
Anda dapat menemukan dokumen lengkap di Bagaimana dan Kapan Menghentikan API
@deprecatedtag javadoc (dalam Java 4-), kompiler menandai metode (kelas, bidang) sudah tidak digunakan lagi dan IDE menunjukkan peringatan, bahkan ketika tidak ada sumber yang tersedia.
karena beberapa penjelasan kecil tidak ada
Gunakan @Deprecatedanotasi pada metode seperti ini
/**
* @param basePrice
*
* @deprecated reason this method is deprecated <br/>
* {will be removed in next version} <br/>
* use {@link #setPurchasePrice()} instead like this:
*
*
* <blockquote><pre>
* getProduct().setPurchasePrice(200)
* </pre></blockquote>
*
*/
@Deprecated
public void setBaseprice(int basePrice) {
}
<br/>{@link #setPurchasePrice()}Ada dua hal yang dapat Anda lakukan:
@Deprecatedanotasi ke metode, dan@deprecatedtag ke javadoc metodeAnda harus melakukan keduanya !
Mengutip dokumentasi java tentang hal ini:
Dimulai dengan J2SE 5.0, Anda mencabut kelas, metode, atau bidang dengan menggunakan anotasi @Deprecated. Selain itu, Anda dapat menggunakan tag Javadoc @deprecated memberitahu pengembang apa yang harus digunakan.
Menggunakan anotasi menyebabkan kompiler Java untuk menghasilkan peringatan ketika kelas, metode, atau bidang yang usang digunakan. Kompiler menekan peringatan penghentian jika unit kompilasi yang tidak digunakan menggunakan kelas, metode, atau bidang yang sudah tidak digunakan lagi. Ini memungkinkan Anda untuk membangun API lawas tanpa menghasilkan peringatan.
Anda sangat disarankan untuk menggunakan tag Javadoc @deprecated dengan komentar yang sesuai menjelaskan cara menggunakan API baru. Ini memastikan pengembang akan memiliki jalur migrasi yang bisa diterapkan dari API lama ke API baru