Werte aus mehreren getMethoden auslesen

darksmilie

Erfahrenes Mitglied
Hi,

Ich habe ein Iterrator, der mit Klassemname gefüllt ist und lasse ihn durchlaufen. Zusätzlich habe ich von einer Gui ein Object gekommen, welches ich mit den Klassennamen des iterrators vergleiche, was auch klappt.Nun würde ich gerne von allen getMethoden dieses Objectes die Werte auslesen, leider habe ich noch kein Weg gefunden wie das möglich ist, bisher habe ich lediglich die Namen der Methoden.

Weiß jemand wie ich die Werte aus den Methoden auslesen kann?

Code:
while(test.hasNext()) {
      Object o = test.next();
      if(object.getClass() == o.getClass()) {
        System.out.println("Richtig!");
        Method[] method = o.getClass().getDeclaredMethods();
        for(Method m : method) {          
          System.out.println(m.getName());
        }
        break;
      }
    }
 
Du willst also die getter Methoden aufrufen?

In diesem Fall sollte das mit der invoke Methode von Method gehen.
Mit getReturnType oder getGenericReturnType solltest du herausfinden können ob und was deine Methoden zurück geben (die beiden Methoden hab ich jetzt auf die schnelle nicht ausgetestet).

Ich hoffe, dass dir das weiter hilft.

MfG
Daniel
 
Hallo!

Schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author Tom
 * 
 */
public class PropertyAccessorExample {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        Bubu bubu = new Bubu("Tom", 23, new Date(), new ArrayList<String>() {
            {
                add("ABC");
                add("DEF");
                add("GHI");
            }
        });

        BeanInfo beanInfo = Introspector.getBeanInfo(Bubu.class);
        for(PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()){
            System.out.println(propertyDescriptor.getReadMethod().invoke(bubu));
        }

    }

    static class Bubu {
        String name;
        int age;
        Object data;
        List<String> entries;

        public Bubu(String name, int age, Object data, List<String> entries) {
            super();
            this.name = name;
            this.age = age;
            this.data = data;
            this.entries = entries;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public Object getData() {
            return data;
        }

        public void setData(Object data) {
            this.data = data;
        }

        public List<String> getEntries() {
            return entries;
        }

        public void setEntries(List<String> entries) {
            this.entries = entries;
        }
    }
}

Ausgabe:
Code:
23
class de.tutorials.PropertyAccessorExample$Bubu
Mon Dec 04 23:48:36 CET 2006
[ABC, DEF, GHI]
Tom

Gruß Tom
 
Zurück