Image

Imagearbak wrote in Imageru_java

generics

Есть такой код:

interface Factory<T extends A<S>, S extends B> {
    T getA();
    S getB();
}

...

interface A<T extends B> {
    void doB(T b);
}

...

interface B { }

Не пойму какая должная быть сигнатура у getFactory, и возможно ли это вообще, что

Factory<???> f = getFactory();
f.getA().doB(f.getB());


будет работать правильно т.е. понимать что f.getB() возвращает именно такой тип B, который принимается методом f.getA().doB()?

upd. also on stackoverflow