È possibile ottenere la stringa in questo modo:
Car.class.getDeclaredMethods()[0].getName();
Questo è per il caso di un singolo metodo nella classe. Se si desidera per scorrere tutti i metodi dichiarati, dovrete scorrere la matrice restituita da Car.class.getDeclaredMethods()
:
for (Method method : Car.class.getDeclaredMethods()) {
String name = method.getName();
}
Si dovrebbe usare getDeclaredMethods()
se si desidera visualizzare tutti loro, getMethods()
restituirà solo pubblico Metodi.
E infine, se si vuole vedere il nome del metodo, che è in esecuzione in questo momento, è necessario utilizzare questo codice:
Thread.currentThread().getStackTrace()[1].getMethodName();
In questo modo ottenere una traccia dello stack per il thread e il ritorno di corrente il nome del metodo in cima.
Grazie, ho paura che non voglia essere legato alla cosa "one-metodo-per-class" ... Si può – drozzy
ottieni tutti i metodi della classe o solo il metodo che viene eseguito al momento. Vedi le mie modifiche. :) – Malcolm
Grazie. Curioso. Ma ho bisogno di un nome di un metodo che non è attualmente in esecuzione. Sembra che java non fornisca un modo per farlo ... – drozzy