O maximo que voce pode saber dentro do método é descobrir quem chamou ele, mas no seu caso, a unica coisa passada para o método é o valor da variavel e não a chamada do método.
tnaires
Uma abordagem alternativa seria passar os parâmetros para o método usando Maps, onde a chave é o nome do parâmetro.
rogelgarcia
Fazendo uns malabarismos muito loucos dá pra fazer… nao exatamente do jeito que vc passou… mas quase isso…
Mas eu imagino que essa nao é a melhor solucao para seu problema
M
McLuck
Davis, não entendi bem o que você quer, mas me parece que você quer que o seu “obj.setMetodo(Object o);” pegue o nome do método passado pelo parametro, mas da forma que você está fazendo não creio ser possível, porque quando você envia o método pronto, ele já vai enviar o valor que está na sua variável.
O que você precisa é usar reflection para fazer coisas deste tipo, mas não desta forma.
Você consegue pegar o valor do atributo se passar somente o nome do método (o que é ao contrário do que deseja fazer), por exemplo:
setMetodo(StringnomeMetodo,Objectinstancia){//Para pegar o métodoMethodmetodo=instancia.getClass().getMethod(nomeMetodo,newClass[0]);//Para pegar o valor do métodoObjectretorno=metodo.invoke(instancia,newObject[0]);}//Usandopublicvoidexemplo(){Pessoap=newPessoa();p.setNome("Joao");setMetodo("getNome",p);}
Caso não seja exatamente isto que procura, desculpe-me. Explique de outra maneira que tento compreender.
Att,
Lucas Israel
T
thingol
davisnog:
E ai galera existe alguma forma de saber o nome metodo passado como parametro, por exemplo:
Você não passou um nome de método como parâmetro.
Você passou um objeto que foi retornado por uma chamada a getNome.
Em Java ainda não é possível passar um nome de método como parâmetro; no Java 7 (ou 8 ) talvez seja possível uma coisa parecida, que é criar "lambdas". Isso ainda está em fase experimental, e pelo andar da carruagem não ficará pronto a tempo para o Java 7, a menos que atrasem mais ainda o seu lançamento.