有没有更好的方法来获取当前类变量在java?
问题描述:
现在我正在做这样的事情:
Right now I am doing something like this:
private static Logger logger = LoggerFactory
.getLogger(MasterController.class);
有没有比使用类的名称(这是MasterController)更好的方法?
Is there a better way than using the name of the class (which is MasterController)? Maybe something generic?
答
以下链接有一个有趣的方法:
The following link has an interesting approach:
http://www.rgagnon.com/javadetails/java-0402.html
为方便起见在此贴上:
public class ClassFromStatic {
public static void main(java.lang.String[] args) {
someStaticMethod();
}
public static void someStaticMethod() {
System.out.println
("I'm in " + new CurrentClassGetter().getClassName() + " class");
}
public static class CurrentClassGetter extends SecurityManager {
public String getClassName() {
return getClassContext()[1].getName();
}
}
}