JAVA lambda 報錯 Syntax error on tokens, Expression expected instead
阿新 • • 發佈:2018-12-28
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版本,以後有機會再實驗,歡迎升級過版本的小夥伴留言評價一下,謝謝