Ich brauch eine Methode die ein „Class“ Objekt zurückgibt, und diese Class soll irgendetwas repräsentieren, das „Base“ und „Feature“ implementiert. In meinem Beispiel unten wäre das „Product“. Mit Generics sollte man das eigentlich beschreiben können, aber Eclipse findet meinen Code garnicht toll. Mein „Product.class“ ist scheinbar kein „Class<Base & Feature>“. Hat jemand eine Idee wie man das zum kompilieren bringt? Ohne Cast natürlich
public class GenericsTest {
public static interface Factory{
public <T extends Base & Feature> Class<? extends T> getType();
}
public static class ConcreteFactory implements Factory{
@Override
public <T extends Base & Feature> Class<? extends T> getType() {
return Product.class; // <-- Type mismatch, wieso?
}
}
public static class Base{
}
public static interface Feature{
}
public static class Product extends Base implements Feature{
}
}