В Java есть быстрый способ вывести все аргументы в метод? - PullRequest
10 голосов
/ 27 января 2012

Мне часто хочется просто напечатать (используя неявное toString () каждого объекта) каждый аргумент метода в Java. Есть ли быстрый способ сделать это?

Ответы [ 2 ]

6 голосов
/ 27 января 2012

Язык программирования Java не имеет конструкции для этого.Однако вы можете сделать это с помощью одного из пакетов AOP (Aspect-Oriented Programming), таких как AspectJ .
В частности, этот поток может быть хорошей отправной точкой для достижения этой цели:

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

Мое личное мнение, однако, заключается в том, что большую часть времени АОП является страшным перебором.

ОБНОВЛЕНИЕ: О, вот более простой способиспользуя Spring AOP, при условии, что вы можете использовать Spring.Как правило, Spring намного проще в использовании, чем чистый AspectJ.

3 голосов
/ 27 января 2012

Не существует общего способа, встроенного в сам язык.Однако есть некоторые вещи, которые могут удовлетворить ваши потребности:

  1. В вашей IDE могут быть макросы для генерации println
  2. Если вас интересует только выгрузка аргументов через некоторый слой,и все вызовы выполняются через интерфейсные методы, вы можете использовать Java Proxies.
  3. Вы можете использовать некоторые манипуляции с байт-кодом, либо после компиляции, либо во время загрузки классов
  4. Пусть кто-нибудь выполнит сложную работу # 3 и изучитсебе АОП
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...