You'll need
class MyList extends ArrayList<MyObject>
When you declare a type parameter for your class declaration like so
class MyList<MyObject> ...
the type MyObject>
is not your type, it is a type variable that also has the name MyObject
.
What you want, is to use your MyObject
type as a type argument for the ArrayList
type parameter as shown above.
But, as others have suggested, composition is probably a better way to do this, ie the wrapper you suggested in your question.