如何只获得类名,而不是完整的path?
我知道使用Context
和一个方法getClass().getName()
我可以得到一个string,代表完整的类名称,如com.package1.package2.MainActivity
。
我怎样才能只获得最后一部分,只有类名? 在这种情况下,它将是MainActivity
string。
我可以用一个简单的split()
方法来做,但也许有更好的方法,更可靠。
这是你所需要的。
MainActivity.this.getClass().getSimpleName();
为了只获取类的名字,不是完整的path,你将使用这个expression式:
String className = this.getLocalClassName(); //or String className = getBaseContext().getLocalClassName(); //or String className = getApplicationContext().getLocalClassName();
或者,您可以使用:
private static final String TAG = MainActivity.class.getSimpleName();
不pipe你怎么做,你都需要在getClass之上执行额外的操作。 我build议这个分裂:
String className = xxx.getClass(); int pos = className.lastIndexOf ('.') + 1; String onlyClass = className.substring(pos);
没有其他解决scheme为我工作,不知道为什么。 我在用着
this.getClass().getName().replace("$",".").split("\\.")[3]
缺点:在一个string中,你可以在线程和侦听器中使用它。
(在听我得到像com.djdance.android.main $ 53 )