次のコードは、特定の種類のShapeを管理するためにサブクラス化されることを意図した抽象クラスの一部です。(実際には特定のクラスのリポジトリですが、現在は関係ありません)
protected ArrayList<? extends Shape> shapesOfSpecificType;
public addShape(Shape shape){
getShapes; //make sure shapeOfSpecificType is instantiated and load stuff from db
shapesOfSpecificType.add(shape); //gives an compile error
}
ArrayListに追加するのに適したaddShapeの引数としてShapeサブクラスを受け入れるにはどうすればよいですか?