Java如何打印所有局部变量?

标签 java local-variables

我有一个方法,想在不调试的情况下检查其中的变量 - 这在 Java 中可行吗?

我不想像这样写大量的代码:

System.out.println("a: " + a);

我想要这样的东西:

System.out.printLocals();

如果有这样的东西也应该很棒:

System.out.printMembersOf(someObjectInstance);

最佳答案

好吧,你可以写一个带有可变参数的方法,然后只写:

dump(variable1, variable2, variable3, variable4, ...);

这并不理想,但在某些情况下就足够了。尽管无法从方法中自动获取所有局部变量并将它们转储。

您可能会考虑某种字节码操作(例如使用 BCEL )可以做到这一点......但它会非常难看。

关于Java如何打印所有局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5355101/

相关文章:

java - 错误 : android. widget.LinearLayout cannot be cast to android.widget.EditText 的问题

java - 我的总数没有在循环中更新

java - Android 中通过引用和方法调用访问预期错误

java - 我应该将应用程序子类对象保留为成员变量还是局部变量?

java - 使用java创建列表

java - Java 的动态代理的.Net 等价物是什么?

c - 函数返回后局部变量仍然存在

c - 嵌套 {} 内局部变量的内存分配

android - View 引用成员变量和局部变量的区别

mysql - 无法在 MYSQL 上的存储过程中分配局部变量