我有这个ste.getClassName()
,它返回一个像这样的String
pack.age.Foo
。
ste
是StackTraceElement
。
我怎样才能只得到Foo
?或者唯一的方法是编写一个从该字符串中提取Foo
的方法?
我有这个ste.getClassName()
,它返回一个像这样的String
pack.age.Foo
。
ste
是StackTraceElement
。
我怎样才能只得到Foo
?或者唯一的方法是编写一个从该字符串中提取Foo
的方法?
这方面没有内置的方法。你可以像 @Naya 和 @Daniel Perez 建议的那样分割字符串,或者让 Class
来为你完成繁重的工作:
String simpleName = Class.forName(ste.getClassName()).getSimpleName();
String fullClassName = stackTraceElement.getClassName();
String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
String[] parts = ste.getClassName.split(".");
parts[2]将成为Foo值。 .split允许您选择一个值,根据分隔符的位置将字符串分割成数组。
Class.forName(ste.getClassName()).getSimpleName()
怎么样? - ernest_kgetSimpleName()
怎么样? - PM 77-1