Java tem uma ótima documentação online. A página que andyb vincula abaixo é um exemplo. Sempre que você tiver uma dúvida sobre a funcionalidade exata disponível em uma classe ou pacote, os javadocs são tão fáceis de encontrar quanto pesquisar no Google "java 6 <pacote ou classe em questão>".
String.class.getSimpleName () -> String, onde como String.class.getName () -> java.lang.String
Peter Dietz
Obrigado, @andyb getSimpleName()é mais fácil de acessar o nome da classe sem o nome do pacote. Sintaxe: object.getClass().getSimpleName()Amostra de código
Abhijeet
Como atribuí-lo para variável de string estática. mostrando um erro no Android Studio.
MohanRaj S de
Não funciona para classes internas: isso removerá o nome da classe envolvente, não apenas o pacote.
toolforger
9
As duas formas abaixo funcionam bem.
System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Isso me ajudou, pois não consigo usar getSimpleName () no meu framework ... Tq
Imposter
1
Além disso, a abordagem programática produz resultados lógicos para classes anônimas.
Hollis Waite
@Imposter você está usando algo anterior ao Java 1.5?
Stealth Rabino
Você precisa lidar com o caso em que nenhum .é encontrado.
eckes
@verifica se o ponto não foi encontrado, o resultado será -1, adicionando 1 fornecerá uma substring começando no índice 0 - exatamente o que você precisa neste caso. (Acabei de testar isso com int[], o resultado é "[I".)
toolforger
4
Você pode usar a seguinte técnica simples para imprimir o log com o nome da classe.
private String TAG = MainActivity.class.getSimpleName();
Suponha que temos que verificar o valor da variável vinda no método, então podemos usar o log como abaixo:
getSimpleName (): Retorna o nome simples da classe subjacente conforme fornecido no código-fonte. Retorna uma string vazia se a classe subjacente for anônima. O nome simples de uma matriz é o nome simples do tipo de componente com "[]" anexado. Em particular, o nome simples de uma matriz cujo tipo de componente é anônimo é "[]".
Respostas:
Class.getSimpleName()
fonte
getSimpleName()
é mais fácil de acessar o nome da classe sem o nome do pacote. Sintaxe:object.getClass().getSimpleName()
Amostra de códigoAs duas formas abaixo funcionam bem.
System.out.println("The Class Name is: " + this.getClass().getName()); System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Saída conforme abaixo:
fonte
ou programaticamente
String s = String.class.getName(); s = s.substring(s.lastIndexOf('.') + 1);
fonte
.
é encontrado.int[]
, o resultado é"[I"
.)Você pode usar a seguinte técnica simples para imprimir o log com o nome da classe.
private String TAG = MainActivity.class.getSimpleName();
Suponha que temos que verificar o valor da variável vinda no método, então podemos usar o log como abaixo:
private void printVariable(){ Log.e(TAG, "printVariable: "); }
A importância desta linha é que podemos verificar o nome do método junto com o nome da classe. Para escrever este tipo de log.
escreva: - loge e Enter.
irá imprimir no console
fonte
Social.class.getSimpleName ()
getSimpleName (): Retorna o nome simples da classe subjacente conforme fornecido no código-fonte. Retorna uma string vazia se a classe subjacente for anônima. O nome simples de uma matriz é o nome simples do tipo de componente com "[]" anexado. Em particular, o nome simples de uma matriz cujo tipo de componente é anônimo é "[]".
fonte
Esta é a maneira Groovy de acessar propriedades de objeto:
this.class.simpleName # returns the simple name of the current class
fonte
Obtenha um nome simples em vez de caminho.
String onlyClassName = this.getLocalClassName();
chamar o método acima em onCreate
fonte