今天复习的时候看到Java8的新特性,看到了Java也可以使用lambda,原谅我的愚昧无知……
于是自己也决定动手去试一下lambda表达式在Java中的应用,但是,在做一个很简单的demo的时候,出现了一些编译和运行的错误
比如
1、这是我的源代码
public class test1 {
public static void main(String[] args) {
//java8前
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Before Java8, too much code for too little to do");
}
}).start();
//Java 8 方式:
new Thread( ()-> System.out.println("In Java8, Lambda expression rocks !!") ).start();
}
2、然后会有编译错误
错误描述
Lambda expressions are not supported at language level '1.7'
可见是语言版本不符
然后去Project Structure 设置模块的语言
将框框里的语言级别换成8 -lambda,type annotation etc
此时编译通过!
3、但是运行的时候出现错误
很明显是Java版本不符,应该出现在编译器那里
继续去到Project Structure那里配置
首先确认您的电脑已经安装了jdk1.8,否则先去官网下载安装,然后配置就可以了
4、运行成功