Я хочу проверить, существует ли метод в интерфейсе на основе его подписей .
Подпись, которую должен иметь метод:
Collection<Foo> methodName(Spam arg0, Eggs arg1, ...)
Я могу найти методы через Class.getMethods ()
, затем найти имя, параметры и тип возвращаемого значения соответственно с помощью method.getName ()
, method.getParameterTypes ()
и method.getReturnType ()
.
Но с чем мне сравнивать возвращаемый тип, чтобы убедиться, что выбраны только методы, возвращающие Collection
, а не другие коллекции?
method.getReturnType().equals(Collection.class)
Поскольку вышесказанное будет верным для всех методы, возвращающие коллекцию, а не только те, которые возвращают Foo
Collection.