Java Generics and unchecked cast

Viewed 257

I'm struggling with this aspect of Generics in Java. Hopefully someone can help me see the ways.

I have a class that holds a List of objects. This code works, but I want to get rid of the cast. How can I make this more generic?

public class Executor {
    List<BaseRequest<BaseObj>> mRequests = new ArrayList<BaseRequest<BaseObj>>();

    public Executor() {
    }

    @SuppressWarnings("unchecked")
    public <T extends BaseObj> void add(final BaseRequest<T> request) {
        mRequests.add((BaseRequest<BaseObj>) request);
    }

    public void execute() {
        for (BaseRequest<BaseObj> r : mRequests) {
            // DO SOMETHING WITH r
        }
    }
}
2 Answers
Related