JAVA lambda 报错 Syntax error on tokens, Expression expected instead

版权声明:复制转载请声明来自博客:散场前的温柔 https://blog.csdn.net/qq_35394434/article/details/85320880

lambda是JDK1.8之后的新特性,笔者在初次使用lambda时出现一个问题,特此记录

笔者使用版本:MyEclipse8.5,JDK1.8.0,IDEA2018.2.5

笔者在MyEclipse上运行如下lambda代码出现如报错信息:

package com.text;

public class Lambda {
	public static void main(String[] args) {
		Lambda lambda = new Lambda();
		lambda.oldRunable();
		lambda.runable();
	}

	public void oldRunable() {
		new Thread(new Runnable() {
			public void run() {
				System.out.println("The old runable now is using!");
			}
		}).start();
	}
	
	public void runable() {
        new Thread(()->System.out.println("It's a lambda function!")).start();
    }
}

代码第19行报错:

Multiple markers at this line
    - Syntax error on tokens, Expression expected instead
    - Syntax error on token(s), misplaced construct (s)

笔者在网上搜索一番之后,并没有关于这个异常的解释,然后决定使用IDEA运行一下试试看,结果发现同样的代码IDEA并没有报错,特此记录

笔者估计可能是因为笔者MyEclipse8.5版本太低的原因,但是笔者没有更换MyEclipse版本,以后有机会再实验,欢迎升级过版本的小伙伴留言评价一下,谢谢

猜你喜欢

转载自blog.csdn.net/qq_35394434/article/details/85320880