я пишу код для домашней работы, и я получаю эту ошибкуJava-Generic Тип не найден?
GenericSet.java:101: error: method map in class GenericSet<T> cannot be applied
to given types;
E ans = map(item);
^
required: LMap<T,E>
found: T
reason: cannot infer type-variable(s) E
(argument mismatch; T cannot be converted to LMap<T,E>)
where T,E are type-variables:
T extends Object declared in class GenericSet
E extends Object declared in method <E>map(LMap<T,E>)
Note: GenericSet.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
от того, что я понимаю, интерфейс я отдаются пассы в функции, и я должен использовать общий вход (T), чтобы получить общий вывод (E), который будет сохранен в новом настраиваемом общем объекте, который я создал. Похоже, что он находок T отлично, но не E. Не могли бы вы, ребята, сказать мне, что я делаю неправильно?
Вот мой код:
public <E> ExtendedSet<E> map(LMap<T, E> map) {
GenericSet<E> finalVal = new GenericSet();
for (T item: this.myList) {
E ans = map(item);
finalVal.addThis(ans);
}
return finalVal;
}
Примечание: объект GenericSet реализует ExtendedSet Примечание 2: Метод интерфейса IM дал реализовать выглядит следующим образом:
@FunctionalInterface
public interface LMap<T, E> {
/**
*Maps an element of type T to type E
*@param element the source element to map from
*@return E the destination element to map to
*/
E map(T element);
}
Вы пытаетесь передать экземпляр 'T' (' item') методу, который принимает экземпляр 'LMap'. Посмотрите на свою ошибку более подробно: 'required: LMap :: found: T' –