在Java中,是否有一种快速方法可以将所有参数转储到方法中?

时间:2012-01-27 01:47:35

标签: java logging

我经常发现自己只想打印(使用每个对象的隐式toString())Java中方法的每个参数。有没有快速实现这一目标的方法?

2 个答案:

答案 0 :(得分:6)

Java编程语言没有用于执行此操作的构造。但是,您可以使用其中一个AOP(面向方面​​编程)软件包,例如AspectJ 特别是这个线程可能是如何实现这个目标的一个很好的起点:

http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg09939.html

然而,我个人认为,大多数时候AOP是一种可怕的过度杀伤。

更新:哦,here's使用Spring AOP更容易,假设你可以使用Spring。 通常,Spring比纯AspectJ更容易使用。

答案 1 :(得分:3)

语言本身没有内置的通用方法。但是,有些事情可能满足您的需求:

  1. 您的IDE可能有宏来生成println
  2. 如果您只对跨某个层转储参数感兴趣,并且所有调用都是通过接口方法,则可以使用Java代理。
  3. 您可以在编译后或在类加载期间使用一些字节码操作
  4. 让某人做#3的努力工作,并自学AOP
相关问题