Yes, write it like so: Pair.<? extends Exception, ? extends Exception>of(foo, bar);
Not pretty, but it works. though, I'm somehat confounded as to why java wouldn't compile it as is. Generics still surprise me sometimes. On Feb 11, 11:01 pm, Bill Wohler <[email protected]> wrote: > On Feb 9, 9:26 am, [email protected] (Dominic Mitchell) wrote: > > > Hear, hear! Although, I'd call it "of" rather than create, as that's > > what the google collections library does. The type inference leads to a > > really nice API. > > Thanks, Dominic. I used your message as an incentive to replace our > Pair constructor with an "of" factory method. And yes, it does a great > job of cleaning things up! I hit one snag. Is there a way around the > following compilation problem? > > public class PairTest { > /* > * The Pair.of() call below yields the following compilation > error: Type > * mismatch: cannot convert from Pair<Class<capture#1-of ? extends > * Exception>,Class<capture#2-of ? extends Exception>> to > Pair<Class<? > * extends Exception>,Class<? extends Exception>> > */ > public static void main(String[] args) { > Class<? extends Exception> foo; > Class<? extends Exception> bar; > > // Original line with constructor. > Pair<Class<? extends Exception>, Class<? extends Exception>> > compiles = new Pair<Class<? extends Exception>, Class<? extends > Exception>>( > foo, bar); > > // Failed attempt at using of. > Pair<Class<? extends Exception>, Class<? extends Exception>> > doesntCompile = Pair.of( > foo, bar); > } > > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---
