Need help with error message
Boaz Nahum
boaznahum at gmail.com
Mon Sep 9 06:55:55 PDT 2013
Thanks.
But I think You ignore my question.
Sure the compiler should warn on unchecked. That what it does in JDK 7, but
in JDK 8 it doesn't. Instead it raise an error on the assignment of the
result of get(0) to String.
You also ignored the fact the splitting the code into two lines eliminated
the error message although the unchecked call, and *doesn't produce
unchecked warning message.*
IMHO it is compiler bug.
On Mon, Sep 9, 2013 at 4:43 PM, Vicente-Arturo Romero-Zaldivar <
vicente.romero at oracle.com> wrote:
> Hi Boaz,
>
> The compiler is indicating that there are unchecked warnings in the code,
> if you don't solve them and go on, then you can't expect the compiler to do
> all the checking or figure out what the correct type should be.
>
> Here the code should be:
>
> List<Integer> keys = new ArrayList<>(); or:
>
> List<Integer> keys = new ArrayList<Integer>()
>
> also lambda repo is not up to date anymore, you should use tl/langtools
> instead.
>
> Thanks,
> Vicente
>
>
> On 09/09/13 13:53, Boaz Nahum wrote:
>
> Build lambda/lambda repo today.
>
> The compiler error is strange
>
> public List<String> getList(List<Integer> keys) {
> return null;
> }
>
> MyData data = new MyData();
>
> //this is wrong, should be List<Integer>
> List keys = new ArrayList();
>
> String item= data.getList(keys).get(0);
>
> The error message is:
> java: incompatible types: java.lang.Object cannot be converted to
> java.lang.String
>
> But if I split it to:
> List<String> list = data.getList(keys);
> String item = list.get(0);
>
> then it compile fine.
>
> The error message remind smells like compiler treats getList as generic
> method.
>
> Thanks
> Boa
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130909/cae27ec7/attachment.html
More information about the compiler-dev
mailing list