Atributos do objeto

1 resposta
M

eh possivel fazer um metodo que retorna o nome (nao o valor) de todos os atributos de um objeto ? como posso fazer isso?

1 Resposta

B
Sim, isso é possível através de reflection, utilizando o método getDeclaredFields();





Veja o exemplo:





   import java.lang.reflect.*;





   public class field1 {


      private double d;


      public static final int i = 37;


      String s = "testing";





      public static void main(String args[])


      {


         try {


            Class cls = Class.forName("field1");





            Field fieldlist[] = cls.getDeclaredFields();


            for (int i = 0; i < fieldlist.length; i++) {


               Field fld = fieldlist[i];


               System.out.println("name = " + fld.getName());


               System.out.println("decl class = " + fld.getDeclaringClass());


               System.out.println("type = " + fld.getType());


               int mod = fld.getModifiers();


               System.out.println("modifiers = " + Modifier.toString(mod));


               System.out.println("-----");


            }


          }


          catch (Throwable e) {


             System.err.println(e);


          }


       }


   }





(Exemplo retirado de <a>http://developer.java.sun.com/developer/technicalArticles/ALT/Reflection/</a> )
Criado 9 de fevereiro de 2003
Ultima resposta 9 de fev. de 2003
Respostas 1
Participantes 2