Error using toList() of Collectors

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Jan 10 09:21:04 PST 2013


On 10/01/13 18:12, Venkat Subramaniam wrote:
> Hello everyone,
>
> I'm trying to use the new Collectors class.
>
>      List<Integer> numbers = Arrays.asList(1, 2, 3);
>
>      //This works
>      List<Integer> numbers1 = numbers.stream()
>        .collect(toCollection(ArrayList<Integer>::new));
>        
>      //This does not
>      List<Integer> numbers2 = numbers.stream()
>        .collect(toList());
>
>      /*
>       error: incompatible types: inferred type does not conform to upper bound(s)
>            .collect(toList());
>                    ^
>          inferred: List<Object>
>          upper bound(s): List<Integer>,Object
>      1 error
>      */
>
> Is this the expected behavior or am I missing something quite basic here?
>
> Thanks,
>
> Venkat
>
>
Nested generic method calls support is not fully ready (yet). If you 
compile with -XDuseGraphInference it should work (do at your own risk ;-)).

Maurizio


More information about the lambda-dev mailing list