Je sais que c'est assez mineur, mais en haut de chaque classe, je finis par copier et coller, puis changeant la ligne de code suivante.
private static final String TAG = this.class.getName();
6 Réponses :
Ce code> est synonyme de choses spécifiques. Pour le niveau de classe, utilisez le nom de la classe ou appelez-les explicitement, si vous appelez à partir de la classe. P>
Malheureusement, il n'y a aucun moyen d'éviter cela. Vous devez spécifier le jeton de classe pour chaque classe explicitement. La réflexion pourrait éventuellement fournir une certaine manière générale de traiter cela, mais il serait tellement plus moche que cela ne vaut pas la peine d'y penser: -) p>
Pas possible avec une réflexion. Vous devez commencer par un classe code> quelque part et que vous soyez déjà le premier problème déjà.
Vous ne savez pas comment j'ai souhaité quelque chose comme ça ( ceci.class code>), mais malheureusement, non. P>
Vous pouvez définir un modèle puis, tapez J'utilise cette méthode pour déclarer des enregistreurs dans mes classes. P> Alternativement, interrogeez la Trace de pile du fil de courant: p> Tag CODE>, par exemple: tag code> suivi de ctrl + espace code> et il insérera cette instruction. p>
GetStackTrace () [1] ou GetStackTrace () [0] Comme mentionné plus tard?
Devrait être gestactacttrace () [1] sur un fil. L'autre réponse est différente car elle crée une nouvelle exception.
Un piratage laid, mais cela vous donnera le nom de la classe actuelle: P>
étiquette de chaîne statique privée = Nouvelle RunTimeException (). GetStackTrace () [0] .getClassName (); p>
Utilisateur Dogbane a suggéré de interroger la trace de la pile du fil code> code>.
On peut déménager ce code dans une classe nommée puis, à partir d'un contexte statique, nous pouvons obtenir le nom de la classe en faisant référence à exemple: p> classinfo code>: classinfo .ClassName () code> ou simplement classname () code> Si nous utilisons une importation statique. p>
MyClass
MyClass$Inner
Il est également sujet aux erreurs si vous faites une faute de frappe pour myClass.class avec un nom de classe valide. Arrivé à moi plus d'une fois ;-)
Ou si vous êtes négligent de la "réutilisation" CUT-N-CLET.
nouvel objet () {} .getclass (). getenclosc.) code> ou quelque chose, comme mentionné sur une question en double. (Coût supplémentaire.)Comme ça, mieux que de jeter et de attraper des exceptions.