java中宏替换的替代方法

0 java macros constants

我有一个日志语句,我总是使用它this.getClass().getSimpleName()作为第一个参数.我想把它放在某种宏常量中,并在我的所有日​​志语句中使用它.但我了解到Java没有像C++那样简单的机制.

在Java中实现这种功能的最佳方法是什么?

我的示例日志语句(来自Android)如下.

Log.v(this.getClass().getSimpleName(),"Starting LocIden service...");
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

Java没有宏,但您可以使代码更短:

Log.v(this, "Starting LocIden service...");
Run Code Online (Sandbox Code Playgroud)

Log课堂上:

public void v(Object object, String s)
{
    _v(object.getClass().getSimpleName(), s);
}
Run Code Online (Sandbox Code Playgroud)

另一种方法可能是检查调用堆栈.