Ошибка символа не найдена со сложными дженериками и расположением лямбдаJAVA

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

Сообщение Anonymous »

Следующий тест отлично отображается в моей среде IDE (Eclipse), но не может скомпилироваться при сборке через Maven.
Ошибка компилятора показана в строке комментария в блоке кода ниже.
Похоже, что компилятор не может определить тип ввода «o» в лямбда-выражение. А если я приведу o к классу MyObj, то он компилируется нормально.
Я понимаю, что это несколько запутанная ситуация (хотя нам действительно нужна эта сложность). И здесь действительно должно быть достаточно информации о типе, чтобы компилятор мог определить тип (и встроенный компилятор в Eclipse делает это).
Я делаю что-то не так с объявлениями дженериков?
JDK — 21.0.5

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

public class AnotherTestClass {

public static class MyObj{
private final String arg1;

public MyObj(String arg1) {
this.arg1 = arg1;
}

public String getArg1() { return arg1; }
}

public static class MyFunctionHolder{
Function f;

public MyFunctionHolder(Function f) {
this.f = f;
}

}

public static  MyFunctionHolder forCollectionOfType(Class

Подробнее здесь: [url]https://stackoverflow.com/questions/79820460/symbol-not-found-error-with-complex-generics-and-lambda-arrangement[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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