【发布时间】:2016-01-15 16:18:57
【问题描述】:
这几行代码
System.out.println(
Stream.of("adam", "bob", "adrian", "brian")
.collect(
Collectors.groupingBy(
x -> x.substring(0,1), //1
Collectors.joining("-")))
);
通过命令行使用javac 时编译正常,但是当我尝试在 Eclipse 中编译时出现此错误
未定义 CharSequence 类型的方法 substring(int, int)
Eclipse 如何干扰编译器? IDE 不只是使用javac.exe 吗?
我正在使用带有 Oracle jdk1.8.0_45 的 Eclipse Luna 4.4.1
【问题讨论】:
-
在 Eclipse Mars 4.5.1 中为我工作。只需升级。
-
您的 Eclipse 项目是否可能使用不同版本的 Java 进行编译?
-
您的问题的一般解决方案是:了解方程中的变量。在那种情况下:什么版本的 Java 在命令行上起作用(知道 Java 8 的东西)......以及你的 Eclipse 支持什么版本的 Java(可能不是 Java 8;所以猜你是在 Luna 上运行(? ) 或更老?!
-
我可以确认这不能在带有 Java 8 的 Luna (4.4) 上编译,但可以在火星上运行。