Can't refer to generic type from bounded wildcard reference

Что не так с классом A ниже, что не позволяет ему скомпилироваться?

public class GenericsHell {
   interface Shape{} 
   interface Circle extends Shape {} 

   interface ShapeHelper<T extends Shape> {
      void draw(T shape);
   }

   class A<T extends Shape> {
      A(T shape, ShapeHelper<? extends Shape> helper) {
         helper.draw(shape); // Issues not-applicable argument error 
      }
   }

   class B {
      B(Circle circle, ShapeHelper<Circle> helper) {
         helper.draw(circle);
      }
   }
}   

Eclipse выдает следующую ошибку:

Метод draw(capture#1-of ? extends Shape) в типе ShapeHelper не применим для аргументов (T)

0
задан Jeff Axelrod 30 March 2012 в 02:35
поделиться