troubleshooting Question

List<? extends ForumGroup> forumGroups cannot be added to

Avatar of HappyEngineer
HappyEngineer asked on
Java
5 Comments1 Solution195 ViewsLast Modified:
Let's say I have code like this:

        List<? extends ForumGroup> forumGroups = null;
        if(primaryForumGroup==null && forum!=null) {
            forumGroups = forum.getForumGroups();
        }

the method forum.getForumGroups() returns a value of type
    List<? extends ForumGroup>
so that needs to be the type for that variable.

However, in this code I actually need to do this:

        List<? extends ForumGroup> forumGroups = null;
        if(primaryForumGroup!=null) {
            forumGroups = new LinkedList<ForumGroup>();
            forumGroups.add(primaryForumGroup);
        }
        if(primaryForumGroup==null && forum!=null) {
            forumGroups = forum.getForumGroups();
        }

That code won't compile. The problem is that forum.getForumGroups() returns
  List<? extends ForumGroup)
but it's not possible to call the add method on a List that uses a "?" capture type.

I could obviously just have a List<ForumGroup> and copy values over from the List<? extends ForumGroup>, but I was hoping there was a more elegant way to do this.

Is there a type declaration for the forumGroups variable that would allow me to do this?
ASKER CERTIFIED SOLUTION
Mick Barry
Java Developer
Join our community to see this answer!
Unlock 1 Answer and 5 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 5 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros