Lambda在BlueJ中非法表达的开始

时间:2014-08-10 11:21:41

标签: java lambda java-8 bluej

我目前正在学习Easy Steps第5版" Java#34; http://ineasysteps.com/products-page/all_books/java-in-easy-steps-5th-edition-covers-java-8/

然而,我刚刚遇到一个"非法表达的开始"使用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));
    }
}

但如果我知道为什么会出现错误,那仍然会很棒。干杯

0 个答案:

没有答案