Primitives in Generics

Rémi Forax forax at
Fri Jul 9 15:42:49 PDT 2010

Le 09/07/2010 21:38, Brian Goetz a écrit :
>>> ... some mad professor cooked up :)  :)  :)
>> My take is that you have three choices:
>>     A) Support function types covering primitives
>>     B) Support primitives in generics
>>     C) Do something that doesn't restrict your options to reconsider
>>        (A) or (B) in Java8 in response to all the complaints about
>>        sucky parallel performance.
> Indeed so.  We believe we have chosen (C).  If we have not, please say
> something!

something! :)

The latest proposal don't tell the story to go from C to A or B,
and I doubt it's possible.

Let suppose, we want to add 'apply' to collection API,
with the proposed scheme, we will have something like this:

interface Function<T> {
   void invoke(T element);

interface Collection<E> {
   extension void apply(Function<? super E> function)
     default Collections.apply;

class Collections {
   static <T> void apply(Collection<? extends T> c, Function<? super T> 
function) {
     for(T element: c) {

I don't see a *binary* backward compatible way to introduce function 
types later.


More information about the lambda-dev mailing list