Error using toList() of Collectors

Brian Goetz brian.goetz at oracle.com
Thu Jan 10 09:21:05 PST 2013


We are still working on type inference here.

You can work around for now with

   collect(Collectors.<Integer>toList());



On 1/10/2013 12:12 PM, 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
>
>


More information about the lambda-dev mailing list