Java 方法将参数打印到控制台并原封不动地返回
为了快速和非常简单的调试,我使用JavaJava 方法将参数打印到控制台并原封不动地返回,java,Java,为了快速和非常简单的调试,我使用Java System.out.println(String.format("%s/%s", a, b)); 它工作得很好,除了需要快速查看传递给其他方法的内容的情况。然后我需要临时变量: String temp = String.format("%s/%s", a, b); System.out.println(temp); act(temp); 我想知道下面是否有像trace这样的方便函数,我可以从任何流行的库中静态导入 act(trace(String.
System.out.println(String.format("%s/%s", a, b));
它工作得很好,除了需要快速查看传递给其他方法的内容的情况。然后我需要临时变量:
String temp = String.format("%s/%s", a, b);
System.out.println(temp);
act(temp);
我想知道下面是否有像trace
这样的方便函数,我可以从任何流行的库中静态导入
act(trace(String.format("%s/%s", a, b)));
这相当于XQuery——只需打印到System.out
内容并返回不变的参数
当然,我可以为此创建自己的util,但我每天都要处理多个项目,也许已经有一些东西可以使用了
我知道我可以在这里使用更复杂的方法,但正如我所说的,我需要它只是为了不时进行肮脏的调试。它应该很容易添加和删除。对于类似的内容,您应该使用日志库,Java或第三方库,如或 然后,您需要添加跟踪级别的日志记录调用,作为要监视的每个方法中的第一条语句。常见的日志消息类似于
输入myMethod(4,2)
,其中4
和2
是实际的参数值
通过这种方式,您可以使用配置启用/禁用日志详细级别,而不必更新/编译/打包/安装代码。您可能会得到关于
System.out
是否适合调试的不同意见的响应(例如,它只是一个拐杖,使用适当的单元测试;它不应该存在于生产代码中;它非常适合调试等)。但是,我不知道有什么“内置”可以满足您的需要。也许可以创建一个调试帮助器库,并在您的项目中引用它。@Cᴏʀ我知道System.out
对于调试来说是不好的选择,但我经常这样做,特别是当我希望同时看到多个调用的结果时。当然System.out
几乎不应该存在于生产代码中。您应该替换System.out.println(String.format(“%s/%s”,a,b))
使用System.out.printf(“%s/%s%n”,a,b)
@Andreas我需要这样的解决方案,可能需要一分钟的时间来查找代码中的内容,然后我想删除它。实际的生产代码它不会打印任何内容。如果你只需要“1分钟”,你考虑过使用调试器吗?