Rumah >Java >javaTutorial >Bolehkah Anda Mengakses Nilai Anotasi daripada Kelas Berbeza di Java?
Di Java, adakah ia boleh dilakukan untuk mendapatkan semula nilai anotasi yang ditakrifkan dalam satu kelas dalam kelas lain?
Sebagai contoh, pertimbangkan anotasi berikut dan kaedah pengaksesnya yang sepadan:
<br>@Column(columnName="firstname")<br>private String firstName;</p> <p>@Column(columnName= "nama akhir")<br>Nama Akhir Rentetan peribadi;</p> <p>String awam getFirstName() {<br> return firstName;<br>}</p> <p>public void setFirstName(String firstName) {<br> this.firstName = firstName;<br>}</p> <p>public String getLastName() {<br> return lastName;<br>}</p> <p>public void setLastName(String lastName) {<br> this .lastName = lastName;<br>}<br>
Adakah mungkin untuk memastikan nilai "columnName" anotasi @Column daripada kelas berasingan?
Ya , adalah mungkin jika anotasi @Column menentukan pengekalan masa jalan menggunakan @Retention(RetentionPolicy.RUNTIME). Begini caranya:
<code class="java">for (Field f: MyClass.class.getFields()) { Column column = f.getAnnotation(Column.class); if (column != null) System.out.println(column.columnName()); }</code>
Perhatikan bahawa MyClass.class.getFields() hanya mengambil medan awam. Untuk mengakses medan peribadi, gunakan MyClass.class.getDeclaredFields().
Atas ialah kandungan terperinci Bolehkah Anda Mengakses Nilai Anotasi daripada Kelas Berbeza di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!