Поставщик подкласса не является допустимым поставщиком для классаJAVA

Программисты JAVA общаются здесь
Anonymous
Поставщик подкласса не является допустимым поставщиком для класса

Сообщение Anonymous »

Хорошо, в библиотеке, которую я использую, есть метод get или create, который выглядит следующим образом:

Код: Выделить всё

A getOrCreateA( Function< U,A > ) {}
B расширяет A
и тем не менее в моем коде я использую функцию , но Я не могу передать его в метод, указанный выше.
Может кто-нибудь объяснить, почему? Я понимаю, почему это не сработает для списка, но, безусловно, все, что создает B, по своей природе создает A
В качестве альтернативы кто-нибудь может предложить альтернативное решение.
Мой вариант использования — это, по сути, getOrCreate для конкретного типа:

Код: Выделить всё

public B getOrCreate_b(U ignore, Function constructor) {
A return_val = ignore.getOrCreate_a(constructor); //

Подробнее здесь: [url]https://stackoverflow.com/questions/79035353/subclass-supplier-not-a-valid-supplier-for-class[/url]

Вернуться в «JAVA»