Fehler „Symbol nicht gefunden“ bei komplexen Generika und Lambda-AnordnungJava

Java-Forum
Anonymous
 Fehler „Symbol nicht gefunden“ bei komplexen Generika und Lambda-Anordnung

Post by Anonymous »

Der folgende Test wird in meiner IDE (Eclipse) einwandfrei gerendert, kann jedoch beim Erstellen über Maven nicht kompiliert werden.
Der Compilerfehler wird in der Kommentarzeile im Codeblock unten angezeigt.
Es sieht so aus, als ob der Compiler den Typ der „o“-Eingabe in das Lambda nicht bestimmen kann. Und wenn ich o in die MyObj-Klasse umwandele, lässt sie sich einwandfrei kompilieren.
Mir ist klar, dass dies eine etwas komplizierte Situation ist (wir brauchen diese Komplexität allerdings wirklich). Und es sollte hier wirklich genügend Typinformationen geben, damit der Compiler den Typ bestimmen kann (und der integrierte Compiler in Eclipse tut dies).
Mache ich etwas falsch mit den generischen Deklarationen?
JDK ist 21.0.5

Code: Select all

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post