Добрый день,
Я пытаюсь разобраться с проблемой общего типа.Но похоже, что Eclipse жалуется, в то время как нет действительной жалобы.
рассмотрим следующие методы
public static <FR extends FilterResult, T> List<? super WrappedFilterResult<? super T, FR>> filter(String check, Collection<T> elements, Function<? super T, String> converter, Filter<? extends FR> filter, ACComparator<? super WrappedFilterResult<? super T, ? super FR>> comparator)
{
// eclipse says 'filter' doesn't accept these arguments
return filter(check, elements, new ArrayList<>(), converter, filter, comparator);
// doing a self call will result in the same error?
// return filter(check, elements, converter, filter, comparator);
// calling without returning doesn't solve it either?
// filter(check, elements, converter, filter, comparator);
// return null;
}
// no complaints here
public static <FR extends FilterResult, T, C extends Collection<? super WrappedFilterResult<? super T, FR>>> C filter(String check, Collection<T> elements, C result, Function<? super T, String> converter, Filter<? extends FR> filter, ACComparator<? super WrappedFilterResult<? super T, ? super FR>> comparator)
{
// content
}
Для первого метода eclipse жалуется, что не может вызвать метод filter
потому что метод is not applicable for the arguments
.Но даже если я сделаю самозвонок, он будет жаловаться.
Думая, что это может быть тип возврата, я исправил его, просто вызвав и вернув null
, но, к сожалению, это тоже ничего не решает.
Извините за сложное объявление метода, но у меня есть более симулированные методы с таким же типом / количеством параметров, которые работают без проблемПоэтому я понятия не имею, почему это не сработает.
Информация:
- Windows 10
- Eclipse oxygen.3a Release (4.7.3a)
Я надеюсь, что это что-то незначительное, я не вижу его, любая помощь приветствуется.
Заранее спасибо
Редактировать
Объявления классов, если они кому-то нужныфорум ссылка на тему 2 на форум Eclipse bugzilla