Error using toList() of Collectors

Venkat Subramaniam venkats at agiledeveloper.com
Thu Jan 10 09:29:04 PST 2013


(Thinking loud: It would be cool if this can be moved to the static import)

I will certainly try this again once your type inference effort is complete.

Thanks,

Venkat

On Jan 10, 2013, at 10:21 AM, Brian Goetz <brian.goetz at oracle.com> wrote:

> 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