令牌语法错误,lambda表达式构造错误 [英] Syntax error on token(s), misplaced construct(s) for lambda expression
问题描述
我在用于线程的以下代码中遇到语法问题:
I have encountered a syntax problem in the following code used for Threading:
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
new Thread(() -> {
GrabberShowUsesCallable gs = new GrabberShowUsesCallable();
//GrabberShow gs = new GrabberShow();
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<String> future = executorService.submit(gs);
String cc;
try {
//Add data to table
cc = future.get();
model.addRow(new Object[] {row,0,cc,0});
row=row+1;
Thread.currentThread().stop();
} catch (InterruptedException | ExecutionException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}).start();
}
});
第3行新线程出现错误:
I got error at line 3 new thread:
此行有多个标记 -令牌语法错误,放错了位置 结构体) -令牌语法错误,请将其删除 令牌
Multiple markers at this line - Syntax error on token(s), misplaced construct(s) - Syntax error on tokens, delete these tokens
在这一行中,我遇到了两个语法错误,一个来自(()
In that line I got two syntax error, one from (()
令牌语法错误,构造放置错误
Syntax error on token(s), misplaced construct(s)
和-> {
令牌语法错误,请删除这些令牌
Syntax error on tokens, delete these tokens
该代码在3台不同的笔记本电脑上运行良好,但其中一台(我的笔记本电脑)遇到此问题.我正在使用安装了jre 8.0和jdk 8.0的Eclipse.
The code was running fine on 3 different laptops, except one (my laptop) encountered this problem. I am using Eclipse with jre 8.0 and jdk 8.0 installed.
推荐答案
如果eclipse默认值不是java8源级别,请确保您的java源级别也是java8,在eclipse项目设置中会被覆盖.这是一个典型的疏忽.
Make sure your java source level is java8 too, in the eclipse project settings overrides, if the eclipse default is not java8 source level. This is a typical overlook.
这篇关于令牌语法错误,lambda表达式构造错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!