Ошибка компилятора показана в строке комментария в блоке кода ниже.
Похоже, что компилятор не может определить тип ввода «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]
Мобильная версия