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

时间:2014-05-19 12:40:05

标签: java c++ string

在C ++代码的java中有什么等价物:

#define printVar(var) cout<<#var<<"="<<var;

打印字符串值及其名称。

4 个答案:

答案 0 :(得分:4)

您可以打印自Java 8版本以来的变量名称:Java Reflection: How to get the name of a variable?

您可以使用以下内容打印值:System.out.println(String.valueOf(var));

通过Java reflection,您可以从变量中获取更多信息,例如类名,包名,类属性等......

答案 1 :(得分:2)

在Java中没有预处理器指令,所以在这种情况下没有选项,除了使用IDE的快捷方式(通常是&#34; soutv + tab&#34;例如,这可以在InteliJ IDEA和Netbeans中使用。因此,您将获得默认模板的输出:

System.out.println("var = " + var);

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

void printVariable (Object variable, String name) {
    System.out.println (name + " = " + variable);
}

以这种方式运行:

printVariable (var, "var");
printVariable (anotherVar, "anotherVar");

更新:根据this answer,在Java 8 中可能有通过反射(在某些情况下)这样做的方式

答案 2 :(得分:2)

Java没有标准的预处理器来执行此操作。一般来说这是件好事。在这种情况下,您可以使用自己的。

我建议您在IDE中使用调试器来调试程序,这样就无需编写代码将这些调试语句转储到控制台。注意:在Java中,使代码始终可调试并且大多数代码随附调试都没有什么损失。

如果断点一行,您可以看到局部变量的所有值以及它们指向的对象。如果需要,您也可以在堆栈中查看所有呼叫者。

答案 3 :(得分:0)

通常您没有Java的预处理。但类似的行为方法是:

public static void printVar(String var) {
    System.out.print("var=", var);
}