Possible Duplicate:
Lambda expressions don't work in Java 8?Не удается получить лямбда, чтобы скомпилировать в Netbeans 7.1.1 + JDK8 (JDK-8-еа-бен-b35)
Простой, бессмысленно приложение с лямбда:
public static void main(String[] args) { FileFilter java = (File f) -> f.getName().endsWith(".java"); }
Установить его использовать JDK 8. Скомпилировать/запустить отлично, если я не пытаюсь использовать лямбда.
Однако, если я делаю, я получаю:
Compiling 1 source file to ...\JavaApplication1\build\classes ...JavaApplication1\src\javaapplication1\JavaApplication1.java:20: error: lambda expressions are not supported in -source 1.8 FileFilter java = (File f) -> f.getName().endsWith(".java"); (use -source 8 or higher to enable lambda expressions) 1 error
Кажется, следует путать о том, следует ли это быть источником 8 или источника 1,8
теперь работает при использовании лямбда-конкретной версии, например, ниже работает отлично:
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
public class JavaApplication1 {
public static void main(String[] args) {
Arrays.asList(new File("c:/").listFiles((File f) -> f.getName().endsWith(".txt")))
.forEach(file-> {System.out.println(file);});
}
}
Почему это закрыто? Дубликат указывал на меня, но не раньше. –