使用变量名登录Java?

Rya*_*heu 5 java debugging logging

在之前的工作中,我使用 C++ 工作,公司内部库有一个日志记录宏,我可以在其中简单地编写 LOG( somevariable ),它会输出到标准输出:

变量名变量值

有谁知道Java中是否有办法做到这一点?

我从来没有想过看他们的代码,所以我不知道它是如何完成的。不过它真的很有用!

Sim*_*mon 2

如果您使用 Eclipse,则可以使用“监视表达式”-视图来不仅监视变量,还监视方法调用。看到这个

如果您只想打印变量的值,可以使用 Eclipse 模板。转至Windows->Preferences并查找条目Java->Editor->Templates。添加一个新模板并将其命名为“printvar”。将以下内容添加到模板主体中:

System.out.println("${variable} = "+ ${variable});
Run Code Online (Sandbox Code Playgroud)

在编码期间键入printvar然后按CTRL+Space将生成输入的代码,用作${variable}变量名称的占位符。您只需键入变量名称一次,这样可以节省时间和键入内容。

顺便说一句:您之所以可以在 C++ 中创建允许像 LOG(variable_name) 这样的语法糖的宏,是因为 C++ 有预处理器,而 Java 没有。Java 预处理器有一些实现,但我认为对于像打印变量名称及其值这样的简单问题,使用一个预处理器会花费太多精力。