As pointed out by @shikjohari you need to specify how you extend the ArrayList.
The reason you get this error is because you are trying to push an Object to an ArrayList that is expecting to get something of type E. So you need to explicitly cast the o to type E in order for this to work (of course, you need to ensure that o is indeed of dynamic type E before you perform casting).
Assuming E is a class defined somewhere else (it does not represent a generic type here, otherwise, the compiler should give you another error - "E cannot be resolved to a type" instead of "The method add(E) in the type ArrayList< E > is not applicable for the arguments"), you should have something like the following:
// This class is defined somewhere in your package
class E {
}
public class YourClass extends ArrayList<E> {
public void push(Object o) {
if (o instanceof E) {
add((E) o);
}
}
}
public void push(E o) {- But you have to ask the question why?