概述
package com.xxx.demo.common.util;
public abstract class ClazzUtil {
/**
* @return 调用方的全限定类名
*/
public final String getClazzName() {
return getClazz().getName();
}
/**
* @return 调用方的全限定类
*/
public final Class<?> getClazz() {
return this.getClass().getEnclosingClass();
}
/**
* @return 调用方的全限定超类名
*/
public final String getSuperClazzName() {
return getSuperClazz().getName();
}
/**
* @return 调用方的全限定超类
*/
public final Class<?> getSuperClazz() {
Class<?> clazz = getClazz();
for (;;) {
Class<?> superclass = clazz.getSuperclass();
if (superclass == null || superclass == Object.class) {
return clazz;
}
clazz = superclass;
}
}
/**
* @return 调用方的全限定最外层类名
*/
public final String getEnclosingClazzName() {
return getEnclosingClazz().getName();
}
/**
* @return 调用方的全限定最外层类
*/
public final Class<?> getEnclosingClazz() {
Class<?> clazz = getClazz();
for (;;) {
Class<?> enclosingClass = clazz.getEnclosingClass();
if (enclosingClass == null) {
return clazz;
}
clazz = enclosingClass;
}
}
}
以后Logger可以这样写了
private static final Logger log = LoggerFactory.getLogger(new ClazzUtil() {}.getClazz());
最后
以上就是强健镜子为你收集整理的java 获取调用代码所在的类的全部内容,希望文章能够帮你解决java 获取调用代码所在的类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复