从StackTraceElement获取不带包的类名

时间:2019-02-04 17:49:25

标签: java

我有这个ste.getClassName(),它会返回一个String像这样的pack.age.Foo

steStackTraceElement

我怎么只能得到Foo?还是唯一的方法是从该字符串中提取Foo

3 个答案:

答案 0 :(得分:3)

没有内置的方法。您可以像@Naya和@Daniel Perez建议的那样分解字符串,或者让(from memory cache)帮您忙碌:

Class

答案 1 :(得分:2)

String fullClassName = stackTraceElement.getClassName();
String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);

答案 2 :(得分:1)

String[] parts = ste.getClassName.split(".");

parts [2]将是Foo值。 .split允许您选择一个值,该值将根据分隔符的位置将字符串分成一个数组。