Pegar nome do metodo

Dale pessoal.

Inton galera estou com uma duvida e nao sei se existe algo pronto.
Tipo tenho vários métodos e gostaria de no meio do método pegar o nome do mesmo, isso eh possível sem ter que
criar uma String para o método ?

Use reflection, leia o artigo aqui no GUJ, veja se é isso que você quer.

Voce pode usar reflexão, que faz a classe “olhar para ela mesma”.

tipo:

Class cls = Class.forName("br.com.SuaClasse");

Method[] methods = cls.getDeclaredMethods();

System.out.println("METODOS DA CLASSE");

for (int i = 0; i < methods.length; i++) {
				Method m = methods[i];
				System.out.println(m);
				System.out.println("NOME DO MÉTODO ------> " + m.getName());
				System.out.println("PACOTE (Classe) ------> " + m.getDeclaringClass());
				System.out.println("MODIFICADOR ------> " + Modifier.toString(m.getModifiers()));
				Class pvec[] = m.getParameterTypes();

				for (int j = 0; j < pvec.length; j++)
					System.out.println("PARÂMETRO #" + j + " " + pvec[j]);

				Class evec[] = m.getExceptionTypes();
				for (int j = 0; j < evec.length; j++)
					System.out.println("EXCEÇÃO #" + j + " " + evec[j]);

				System.out.println("TIPO DE RETORNO ------> " + m.getReturnType());
				System.out.println("-----");
			}

abraços.

sucesso.

Só através de xunxo.
A reflexão não devolve o nome do método que você está.

O segredo está aqui:
http://www.guj.com.br/posts/list/87305.java#466928

Não é com reflection que se faz isso, e sim com um truque - cria-se um objeto do tipo Throwable, e pega-se o stack trace. Então você pega o primeiro elemento, mais ou menos assim:

Throwable thr = new Throwable();
thr.fillInStackTrace();
StackTraceElement[] ste = thr.getStackTrace();
// Você pode obter em ste[0] o nome do método, da classe, e a linha de programa.

É mais fácil usar uma biblioteca como o Log4J, que já faz isso por você na hora de imprimir o log.

[quote=ViniGodoy]Só através de xunxo.
A reflexão não devolve o nome do método que você está.

O segredo está aqui:
http://www.guj.com.br/posts/list/87305.java#466928[/quote]

É verdade, eu nem pensei nisso, você consegue todos os métodos, mas como saberia o que está sendo executado? Não tem nada na API para isso não? Que coisa…
Realmente, pela pilha de chamadas faz sentido.

Aew pessoal valew a ajuda, isso ja resolveu meu problema.