looking for FAQ on interconversion of IntFoo and Foo<Integer>
John Rose
john.r.rose at oracle.com
Thu Apr 18 16:13:39 PDT 2013
On Apr 16, 2013, at 12:01 AM, John Rose <john.r.rose at oracle.com> wrote:
> Where is the standard place to find the design discussion for primitive-type specializations of the new interfaces (functions, producers, consumers, optionals...)?
For the record, here's an partial answer. The package summaries talk about naming and primitive specialization.
http://download.java.net/lambda/b81/docs/api/java/util/function/package-summary.html
http://download.java.net/lambda/b81/docs/api/java/util/stream/package-summary.html
The bit about making specialized interfaces disjoint from their generics is very interesting too. Perhaps it is a hopeless tangle to try to work with subtyping and genericity at the same time. Looks like the design takes its cue from the invariance of Java generics. IntSupplier is about what Supplier<int> if that were a type instance, and IntSupplier has the same relation to Supplier<Integer> as Supplier<Integer> has to Supplier<Object>.
— John
More information about the lambda-dev
mailing list