public String valor1;
public String getValor1() {
return valor1;
}
public void setValor1(String valor1) {
this.valor1 = valor1;
}
}
#########################################################################
public class Teste2 {
public String valor1;
public String getValor1() {
return valor1;
}
public void setValor1(String valor1) {
this.valor1 = valor1;
}
}
#########################################################################
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class GenericTest {
public static void main(String[] args) {
Teste1 t1 = new Teste1();
t1.setValor1("valor1");
Teste2 t2 = new Teste2();
t2.setValor1("valor2");
System.out.println(testeMetodo(t1, Teste1.class));
System.out.println(testeMetodo(t2, Teste2.class));
}
public static String testeMetodo(Object objecInstance, Class<?> clazz) {
String retorno = "";
try {
Method metodo = clazz.getMethod("getValor1");
retorno = (String) metodo.invoke(objecInstance, null);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retorno;
}
}
Nenhum comentário:
Postar um comentário