Mais
Java - obter o nome da classe atual?
Tudo o que estou tentando fazer é obter o nome da classe atual, e java acrescenta um inútil sem sentido **$1*** ao final do nome da minha classe. Como eu posso me livrar dele e só devolver o nome da classe atual?
String className = this.getClass().getName();
258
3
O "$1" não é "não é "inútil sem sentido". Se a sua aula é anônima, um número é anexado.
Se você não'não quer a classe em si, mas sua classe declarante, então você pode utilizar
getEnclosingEnclosingClass()
. Por exemplo:Você pode mover isso em algum método de utilidade estática.
Mas note que este não é o nome da classe atual. A classe anônima é uma classe diferente da classe que a envolve. O caso é semelhante para as classes internas.
Tente usar isto
this.getClass().getCanonicalName()
outhis.getClass().getSimpleName()
. Se esta'é uma classe anônima, utilizethis.getClass().getSuperclass().getName()
.No seu exemplo, "isto" provavelmente se refere a uma instância de classe anônima. Java dá um nome a essas classes anexando um
$número
ao nome da classe que a encerra.