Identificare i campi di una classe e il tipo in Java
Usando la Reflection, in Java è abbastanza semplice identificare tutti i campi di una classe e il loro tipo.
Vediamone un esempio basico.
Abbiamo questa classe POJO:
package test;
import java.util.ArrayList;
import java.util.Date;
public class Articolo {
private String titolo;
private Date dataCreazione;
private String testo;
private ArrayList commenti;
// ECCETERA
}
Potrebbe essere una classe di una tabella articoli di un blog.
Questo il codice per "interrogare" la classe:
package test;
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) {
Field[] fields = Articolo.class.getDeclaredFields();
for (Field field : fields) {
Class cls = field.getType();
System.out.println("Nome del campo : " + field.getName() + " - Tipo : " + cls);
}
}
}
Field è una classe che ci permette di ottenere diverse informazioni su una classe.
Queste info le otteniamo attraverso il metodo getDeclaredFields della classe Class.
Enjoy!
java reflection getdeclaredfields field class
Commentami!