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