I'm attempting to create an ArrayList
(so java, obviously) with type TileEntity
(yes this is a minecraft mod). But I also need the objects added to the ArrayList
to implement a certain interface.
The first option that came to mind was creating an abstract subclass of TileEntity
that implemented interface, and using that as the ArrayList
type. But given the fact that people normally create their own subclasses of TileEntity
and use those as the class they normally subclass, and I want people to be able to hook into my mod, I can't expect them to subclass anything besides TileEntity
.
My current solution is to check if(object instanceof MyInterface)
before adding, but that seems ugly. Surely there's a way to set the type of an ArrayList
to require that an object be both a subclass of TileEntity
and an implementor of MyInterface
.