Rumah >Java >javaTutorial >Bolehkah Parameter Anotasi dalam Java Dimulakan dengan Pemalar Rentetan atau Tatasusunan?
Masalah:
Di Java, adakah mungkin untuk memulakan parameter anotasi dengan rentetan pemalar atau pemalar tatasusunan? Parameter anotasi dinilai pada masa penyusunan, yang mungkin menghalang kefungsian ini.
Contoh sintaks yang dikehendaki ialah:
@SomeAnnotation(locations = FieldValues.FIELD1) public class MyClass { .... }
Di mana FieldValues ialah antara muka dengan tatasusunan tetap FIELD1.
Jawapan:
Menurut kepada Spesifikasi Bahasa Java 15.28, pemalar masa kompilasi hanya boleh menjadi primitif dan Rentetan. Ini bermakna tidak mungkin menggunakan pemalar tatasusunan untuk memulakan parameter anotasi.
Penjelasan:
Anotasi dinilai pada masa penyusunan dan nilai yang dipegangnya mesti diketahui pada masa itu. Tatasusunan bukan pemalar masa kompilasi kerana elemennya boleh diubah suai semasa masa jalan. Oleh itu, adalah tidak mungkin untuk menggunakan pemalar tatasusunan sebagai parameter anotasi.
Penyelesaian Kemungkinan:
Nota:
Walaupun tatasusunan ditakrifkan sebagai muktamad, ia masih bukan pemalar masa kompilasi dan elemennya boleh diubah suai secara reflektif .
Atas ialah kandungan terperinci Bolehkah Parameter Anotasi dalam Java Dimulakan dengan Pemalar Rentetan atau Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!