代码使用javac编译,但不编译Eclipse

时间:2017-06-02 00:05:55

标签: java eclipse generics java-8 java-stream

此代码编译时没有javac的问题,但在Eclipse中它会出现以下错误:

Type mismatch: cannot convert from Set<Object> to Set<String>

问题是什么? javac是版本1.8.0_101,Eclipse正在使用JRE System Library [JavaSE-1.8]

import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

public class Test
{
    public class Foo {
        public List<Bar> bars;
    }

    public class Bar {
        public String baz;
    }

    public static void main(String[] args) {
        List<Foo> list = null;

        Set<String> set = list.stream()
                .flatMap(x -> x.bars.stream().map(y -> y.baz))
                .collect(Collectors.toSet());
    }
}

0 个答案:

没有答案