我有一个方法,想在不调试的情况下检查其中的变量 - 这在 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/