是否可以使用Lambda而不是匿名类创建新对象?

时间:2016-04-17 12:52:56

标签: java lambda inner-classes anonymous

我有这个界面:

public interface Result
{
    public Path path();
    public int line();
}

我想创建一个结果的arraylist,它可以正常工作:

list.add(new Result{
    @Override
    path(){
        return "some string";
    }
    @Override
    line(){
        return 1; // some integer
    }

});

我是lambda表达式的新手,我尝试使用lambda来实现它,但我似乎无法正确使用语法。它甚至可能吗?

1 个答案:

答案 0 :(得分:2)

您只能使用lambda表达式来实现具有单个抽象方法的接口(即功能接口)。

由于您的Result接口有两种方法,因此无法使用lambda表达式实现。