我正在使用Eclipse IDE for Java Developers,Kepler Service Release 2,并安装了jdk1.8.0作为JRE。
我正在使用 Java All-in-one For Dummies 来学习Java SE 8,并且在编写程序时,使用Swing,我收到此错误:syntax error on token "-", -- expected
使用此代码:
button1 = new JButton("Click me!");
button1.addActionListener(e -> button1Click() );
panel1.add(button1);
exitButton = new JButton("Exit");
exitButton.addActionListener(e -> exitButtonClick() );
panel1.add(exitButton);
this.add(panel1);
button1和exitButton已经被声明为JButtons,我已经导入了javax.swing。*和java.awt.event。*。
我该如何解决这个问题?
答案 0 :(得分:16)
如果您使用kepler,请安装此更新:http://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler
然后设置
windows > preferences > java > compiler > compiler compliance level > 1.8
答案 1 :(得分:0)
将其保留在此处,因为我是从Google到这里的,后来又修正了自己的错误:当您在Syntax error on token "-", -- expected
而不是lambda表达式中使用{{1 1}}(也就是说,两个字符之间要有一个空格,在这种情况下,Java会怀疑您正在尝试使用->
。)