aspose file tools
The moose likes Java in General and the fly likes Collections and Generics: nested interfaces possible? Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Java in General
Reply Bookmark "Collections and Generics: nested interfaces possible?" Watch "Collections and Generics: nested interfaces possible?" New topic
Author

Collections and Generics: nested interfaces possible?

Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 35235
    
    7
I'm trying to construct a nested data structure using collections and generics, and am having trouble using interfaces instead of implementations at the deeper levels. What I'd like to do is this:

but the compiler forces me to use a concrete implementation for the nested Map:

This works fine, but is there a way to use the interface instead of the implementation, in case I want to use a different one later? There's the "? extends X" syntax for subclasses, but I don't see something similar for interfaces.

Taking the question further, is there an introduction into these finer points of generics? The Sun Java Tutorial doesn't seem to go that far.


Android appsImageJ pluginsJava web charts
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19216

What compiler are you using? Because the following code compiles perfectly in Java 1.6:

Even if I declare map of being a HashMap instead of a Map it compiles.


SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18670
Hm, I have no problem compiling and executing this line:

Do you get a different result? I'm using JDK 6 update 3 - how about you?


"I'm not back." - Bill Harding, Twister
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 35235
    
    7
I'm using Java 5, which does indeed compile the code you posted.

After some more fiddling with the types, it now seems to work the way I intended it to in the first place.

Thanks for your help. Looks like the problem was actually an InsufficientCaffeineError on my part.
 
I agree. Here's the link: jrebel
 
subject: Collections and Generics: nested interfaces possible?
 
Similar Threads
Collections / Generics
generics
Generics
Generics
Generics