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

代码使用javac编译,但不使用Eclipse,java,eclipse,generics,java-8,java-stream,Java,Eclipse,Generics,Java 8,Java Stream,这段代码使用javac编译时不会出现问题,但在Eclipse中会出现以下错误: 类型不匹配:无法从集合转换为集合 问题可能是什么?javac的版本是1.8.0_101,Eclipse使用的是JRE系统库[JavaSE-1.8] import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class Test { public class Foo { pub

这段代码使用
javac
编译时不会出现问题,但在Eclipse中会出现以下错误:

类型不匹配:无法从集合转换为集合

问题可能是什么?javac的版本是
1.8.0_101
,Eclipse使用的是
JRE系统库[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());
    }
}
import java.util.List;
导入java.util.Set;
导入java.util.stream.collector;
公开课考试
{
公开课Foo{
公共酒吧名单;
}
公共类酒吧{
公共字符串baz;
}
公共静态void main(字符串[]args){
List=null;
Set=list.stream()
.flatMap(x->x.bar.stream().map(y->y.baz))
.collect(收集器.toSet());
}
}

您在Eclipse控制台中遇到的错误是什么?在我的Eclipse Mars.1(4.5.1)中可以正常工作,使用jdk1.8.091。在Eclipse Neon.3中也可以正常工作。您使用的是什么版本的Eclipse?如果是Luna,则需要移动到较新版本。可能存在以下错误:。我建议转到Eclipse的最新版本。