JavaRush /Java Blog /Random-ID /Anotasi. Bagian pertama, sedikit membosankan

Anotasi. Bagian pertama, sedikit membosankan

Dipublikasikan di grup Random-ID
Bagian pertama. Saya menulis secara singkat tentang anotasi dengan tipe SOURCE dan CLASS. Layak dibaca agar tidak tersesat di bagian kedua dan mulai “salah paham” sedikit lagi =) Pasti akan ada setidaknya satu kata di sini yang lho!
Anotasi.  Bagian pertama, sedikit membosankan - 1
Pertama kali saya melihat mereka bermasalah di sini, entah bagaimana saya tidak menyadarinya. Nah Override lagi nongkrong, itu ditulis oleh IDEA, jadi memang begitu. Seiring waktu, saya menyadari bahwa semuanya jauh lebih dalam. Saat Anda belajar, anotasi tampak seperti sesuatu yang tidak berguna, tetapi perlu. Anda tidak tahu mengapa mereka melakukannya. Saya rasa saya membaca beberapa artikel, mereka berkata “betapa hebatnya sekarang kita memiliki anotasi, semuanya menjadi begitu sederhana.” Tapi saya tidak tahu bagaimana sebelumnya, dan saya tidak mengerti bahwa sekarang lebih mudah. Sekarang saya tahu dan saya ingin bercerita sedikit. Ada 3 jenis anotasi (RetentionPolicy):
  • SUMBER – anotasi kompiler
  • KELAS – data dari anotasi akan ditulis ke bytecode tetapi tidak akan tersedia selama pengoperasian. Mereka menulis bahwa banyak anotasi di perpustakaan standar menggunakan tipe ini, dan sekarang mereka menyimpannya karena kompatibilitas ke belakang. Digunakan untuk tugas yang sangat spesifik.
  • Tanya jawab di StackOverflow
  • RUNTIME – yang paling populer, digunakan saat kode sedang berjalan.
Karena sebagian artikel diisi dengan pendahuluan, saya akan menulis di sini tentang anotasi SOURCE dan CLASS. Berikut adalah abstrak yang dapat saya temukan (berkat soal 3607). Saya tidak menulis tentang runtime, terlalu banyak dan itu bukan topik artikel. SUMBER:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.kelas
  • javax/anotasi/Generate.class
  • ,java/lang/Override.class
KELAS: Saya tidak tahu mengapa anotasi dengan tipe CLASS diperlukan. Saya tidak dapat menemukan dokumentasi untuk anotasi yang ada, jadi menurut saya kita tinggalkan saja beban ini. Namun jika Anda menemukannya, silakan bagikan. Anotasi SUMBER:
  1. Asli – variabel di bawah anotasi ini dapat merujuk ke kode asli;

  2. SuppressWarnings – menekan berbagai peringatan kompiler;

  3. Dihasilkan – menandai kode sumber yang dihasilkan;

  4. Override – memeriksa penggantian metode.
Keterangan lebih lanjut:
Anotasi.  Bagian satu, sedikit membosankan - 2
Asli - belum pernah dilihat dan belum pernah dipakai. Saya pikir ini adalah anotasi yang agak langka, karena... mereka menggunakannya jika mereka perlu menjalankan kode dalam bahasa “asli” lainnya. Saya mencoba mencari referensi yang jelas tentang dia, tetapi saya tidak bisa.
Anotasi.  Bagian satu, sedikit membosankan - 3
SuppressWarnings - sering digunakan dalam bentuk @SuppressWarnings("tidak dicentang"). Digunakan untuk menyembunyikan peringatan yang Anda sadari. Contoh di atas menghilangkan peringatan tentang casting tipe yang tidak dicentang. Sekali lagi, saya hanya menemukannya dalam bentuk dan penggunaan ini.
Anotasi.  Bagian satu, sedikit membosankan - 4
Dihasilkan - Saya menemukannya sekarang ketika tugas mengharuskan saya membuat kelas dari file xsd. Ketiga anotasi ini cukup spesifik dan kemungkinan besar tidak menarik bagi Anda saat ini. Saya akan menjelaskan yang terakhir.
Anotasi.  Bagian satu, sedikit membosankan - 5
Override - Anda menggunakannya sepanjang waktu dan itu melakukan hal yang sangat berguna. Sangat mudah untuk membuat kesalahan saat mengganti suatu metode, kecuali IDEA yang melakukannya. Ada kesalahan ketik atau hanya kesalahan saja. Anotasi ini akan memastikan bahwa metode di kelas induk sama dengan metode (yang diberi label) kita. Ini menjamin kita bahwa metode tersebut akan ditimpa dan tidak ditambahkan. Saat memfaktorkan ulang kode, metode ini dapat dihapus atau diubah. Sekali lagi, anotasi akan menunjukkan kesalahannya kepada Anda. Tanpanya, metode kami akan selesai.
Anotasi.  Bagian satu, sedikit membosankan - 6
Membosankan? Menurut saya ya, tidak banyak manfaat yang bisa diambil dari artikel ini. Hampir semua isinya (90%) adalah cerita tentang sesuatu yang tidak akan Anda gunakan, atau akan Anda gunakan, tetapi sangat jarang. 10% sisanya adalah halo dan deskripsi anotasi Override, yang sekilas tidak berguna. Nah, menurut saya artikel bagian kedua akan lebih menarik. Akan ada anotasi RUNTIME, dan anotasi tersebut berinteraksi dengan kode secara real time dan menciptakan ilmu hitam. Anotasi. Bagian kedua. Lombok.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION