lambda expressions are not supported at this language level解决方法



 
  
转载:
lambda问题.png

最近在自己写的项目里面添加lambda表达式,一直以为只用在Android Studio里面下一个Lambda Plugin就可以了,但是,万万没想到写出来之后居然爆出来“lambda expressions are not supported at this language level”

查了一下是说Android Studio里面的Java语言不支持(因为JAVA8已经支持Lambda表达式了)在google.com搜了一下,国外的大牛们解决方法却让你傻眼了:

lambda expressions are not supported at this language level解决方法_第1张图片
网友回复.png
lambda expressions are not supported at this language level解决方法_第2张图片
2.png
lambda expressions are not supported at this language level解决方法_第3张图片
3.png

而我的Android Studio是这样的:

lambda expressions are not supported at this language level解决方法_第4张图片
6.png

这里只能选1.6或者1.7,而java8是1.8,我的内心是崩溃的,感觉我下了一个假的IDE,赶紧找了身边的大神过来帮忙,大神出马直接撸代码,在当前项目的gradle文件里面添加三段代码:

lambda expressions are not supported at this language level解决方法_第5张图片
5.png
lambda expressions are not supported at this language level解决方法_第6张图片
Paste_Image.png

这是让你的IDE强制使用JAVA8 ,你现在可以去刚刚的Project structure里面,java的语言已经强制支持了1.8:

lambda expressions are not supported at this language level解决方法_第7张图片
7.png

但是光写这个是没用的,他依然会报错,而且冒出一个jack?

lambda expressions are not supported at this language level解决方法_第8张图片
8.png

大致的意思就是,你的项目没有需要用java8呀?你要么找到一个东西(jack)让它需要用到java8,要么把java8给关了省事! 可是明明是你说了Lambda表达式需要用的…… 对的! 所以我们就要声明,我们要用Lambda。怎么声明呢?且看大神继续撸代码:

lambda expressions are not supported at this language level解决方法_第9张图片
Paste_Image.png

然后跑到全局的gradle里面:

lambda expressions are not supported at this language level解决方法_第10张图片
Paste_Image.png

把刚刚Lambda的下载地址搞上去:

lambda expressions are not supported at this language level解决方法_第11张图片
Paste_Image.png

然后在IDE里面Sync Now一下,done!

lambda expressions are not supported at this language level解决方法_第12张图片
Paste_Image.png
原文地址:http://www.jianshu.com/p/f2b58ff0b152
 
   
转载:
lambda问题.png

最近在自己写的项目里面添加lambda表达式,一直以为只用在Android Studio里面下一个Lambda Plugin就可以了,但是,万万没想到写出来之后居然爆出来“lambda expressions are not supported at this language level”

查了一下是说Android Studio里面的Java语言不支持(因为JAVA8已经支持Lambda表达式了)在google.com搜了一下,国外的大牛们解决方法却让你傻眼了:

lambda expressions are not supported at this language level解决方法_第13张图片
网友回复.png
lambda expressions are not supported at this language level解决方法_第14张图片
2.png
lambda expressions are not supported at this language level解决方法_第15张图片
3.png

而我的Android Studio是这样的:

lambda expressions are not supported at this language level解决方法_第16张图片
6.png

这里只能选1.6或者1.7,而java8是1.8,我的内心是崩溃的,感觉我下了一个假的IDE,赶紧找了身边的大神过来帮忙,大神出马直接撸代码,在当前项目的gradle文件里面添加三段代码:

lambda expressions are not supported at this language level解决方法_第17张图片
5.png
lambda expressions are not supported at this language level解决方法_第18张图片
Paste_Image.png

这是让你的IDE强制使用JAVA8 ,你现在可以去刚刚的Project structure里面,java的语言已经强制支持了1.8:

lambda expressions are not supported at this language level解决方法_第19张图片
7.png

但是光写这个是没用的,他依然会报错,而且冒出一个jack?

lambda expressions are not supported at this language level解决方法_第20张图片
8.png

大致的意思就是,你的项目没有需要用java8呀?你要么找到一个东西(jack)让它需要用到java8,要么把java8给关了省事! 可是明明是你说了Lambda表达式需要用的…… 对的! 所以我们就要声明,我们要用Lambda。怎么声明呢?且看大神继续撸代码:

lambda expressions are not supported at this language level解决方法_第21张图片
Paste_Image.png

然后跑到全局的gradle里面:

lambda expressions are not supported at this language level解决方法_第22张图片
Paste_Image.png

把刚刚Lambda的下载地址搞上去:

lambda expressions are not supported at this language level解决方法_第23张图片
Paste_Image.png

然后在IDE里面Sync Now一下,done!

lambda expressions are not supported at this language level解决方法_第24张图片
Paste_Image.png
原文地址:http://www.jianshu.com/p/f2b58ff0b152

你可能感兴趣的:(android)