1. 程式人生 > >JAVA lambda 報錯 Syntax error on tokens, Expression expected instead

JAVA lambda 報錯 Syntax error on tokens, Expression expected instead

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版本,以後有機會再實驗,歡迎升級過版本的小夥伴留言評價一下,謝謝