Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mendapatkan Nilai daripada Anotasi dalam Kelas Java?

Susan Sarandon
Lepaskan: 2024-10-27 01:04:30
asal
547 orang telah melayarinya

How to Retrieve Values from Annotations in Java Classes?

Mendapatkan Nilai Medan Anotasi dalam Kelas Java

Dalam pengaturcaraan Java, anotasi ialah metadata yang dilampirkan pada kelas, kaedah atau medan. Anotasi ini boleh memberikan maklumat tambahan tentang struktur atau gelagat kod. Walaupun anotasi ini biasanya digunakan untuk mencetuskan kefungsian tertentu atau memberikan petunjuk kepada alat penyusunan, mungkin terdapat keadaan di mana anda perlu membaca nilai yang disimpan dalam anotasi ini. Artikel ini menunjukkan cara untuk mencapai matlamat ini.

Pertimbangkan contoh berikut:

<code class="java">@Column(columnName="firstname")
private String firstName;

@Column(columnName="lastname")
private String lastName;</code>
Salin selepas log masuk

Dalam kod ini, anotasi @Column digunakan untuk menentukan nama lajur yang dikaitkan dengan medan yang sepadan. Sekarang, mari kita mendalami soalan yang dibangkitkan:

Bolehkah anda membaca nilai anotasi @Column dalam kelas lain?

Jawapannya afirmatif. Walau bagaimanapun, fungsi ini bergantung pada dasar pengekalan anotasi. Anotasi @Column mesti menyatakan RetentionPolicy.RUNTIME untuk membolehkan akses kepada nilainya melebihi masa penyusunan. Ubah suai anotasi @Column seperti berikut:

<code class="java">@Retention(RetentionPolicy.RUNTIME)
@interface Column {
    String columnName();
}</code>
Salin selepas log masuk

Dengan dasar pengekalan masa jalan yang ditetapkan, anda boleh mendapatkan semula nilai anotasi menggunakan refleksi. Berikut ialah contoh:

<code class="java">for (Field f : MyClass.class.getFields()) {
   Column column = f.getAnnotation(Column.class);
   if (column != null)
       System.out.println(column.columnName());
}</code>
Salin selepas log masuk

Dengan mengulangi medan kelas MyClass dan memeriksa setiap anotasi medan, anda boleh mengekstrak nilai anotasi @Column.

Nota: Jika medan anda diisytiharkan peribadi, gunakan getDeclaredFields() dan bukannya getFields().

Kaedah ini menyediakan cara untuk mengakses dan memproses maklumat yang terkandung dalam anotasi, memperluaskan fleksibiliti dan kebolehlanjutan kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai daripada Anotasi dalam Kelas Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!