Java BlueJ中表达式的Lambda非法开始

Java BlueJ中表达式的Lambda非法开始,java,lambda,java-8,bluej,Java,Lambda,Java 8,Bluej,我目前正在学习《简易步骤》第5版中的Java 然而,我刚刚遇到了使用BlueJ非法启动表达式的情况,它突出显示了我的Lambda表达式。我通常会参考这本书的源代码,但这还没有在网上提供 有人能帮我吗 import java.util.ArrayList; class Lists { public static void main(String[] args) { ArrayList<String> list = new ArrayList<St

我目前正在学习《简易步骤》第5版中的Java

然而,我刚刚遇到了使用BlueJ非法启动表达式的情况,它突出显示了我的Lambda表达式。我通常会参考这本书的源代码,但这还没有在网上提供

有人能帮我吗

import java.util.ArrayList;

class Lists
{
    public static void main(String[] args)
    {
        ArrayList<String> list = new ArrayList<String>();

        list.add("Alpha");
        list.add("Delta");
        list.add("Charlie");
        System.out.println("List: " + list);

        System.out.println("Replacing: " + list.get(1) + "\n");
        list.set(1, "Bravo");

        list.forEach((x) -> System.out.println("Item: " + x));
    }
}
更新:我已更新代码,使其正常工作,消除了lambda表达式:

import java.util.ArrayList;

class Lists
{
    public static void main(String[] args)
    {
        ArrayList<String> list = new ArrayList<String>();

        list.add("Alpha");
        list.add("Delta");
        list.add("Charlie");
        System.out.println("List: " + list);

        System.out.println("Replacing: " + list.get(1) + "\n");
        list.set(1, "Bravo");

        for (int i = 0; i < list.size(); i++)
        System.out.println("Item: " + list.get(i));
    }
}

但如果我知道为什么会有错误,那就太好了。干杯

你确定BlueJ支持Java 8吗?老实说,不,我一点都不知道……因为这里没有提到,所以很可能不支持。谢谢,我已经得出结论,它不支持Java 8。目前