Java打印字符串C++等价物

rep*_*epo 6 c++ java string

什么是Java的C++代码中的等价物:

#define printVar(var) cout<<#var<<"="<<var;
Run Code Online (Sandbox Code Playgroud)

打印字符串值及其名称.

Dmi*_*urg 2

在 Java 中没有预处理器指令,因此在这种情况下没有其他选择,除了使用 IDE 的快捷方式(通常是“soutv + tab”,例如,在 InteliJ IDEA 和 Netbeans 中)。因此,您将获得默认模板的输出:

System.out.println("var = " + var);
Run Code Online (Sandbox Code Playgroud)

或者您可以实现通用方法来执行此操作:

void printVariable (Object variable, String name) {
    System.out.println (name + " = " + variable);
}
Run Code Online (Sandbox Code Playgroud)

并以这种方式运行它:

printVariable (var, "var");
printVariable (anotherVar, "anotherVar");
Run Code Online (Sandbox Code Playgroud)

更新:根据这个答案,在Java 8中可能有一种方法可以通过反射来做到这一点(在某些情况下)