Java 是否可以使用Lambda而不是匿名类创建新对象?
我有这个界面:Java 是否可以使用Lambda而不是匿名类创建新对象?,java,lambda,inner-classes,anonymous,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 integ
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来实现它,但我似乎无法正确使用语法。甚至可能吗?您只能使用lambda表达式实现具有单个抽象方法的接口(即功能接口)
由于您的
结果
接口有两种方法,因此无法使用lambda表达式实现。您只能使用lambda表达式实现具有单个抽象方法的接口(即功能接口)
由于您的
结果
接口有两种方法,因此不能用lambda表达式实现它。我是这么想的,但我仍然对此感到困惑。谢谢匿名内部类是构建此列表的最佳方法吗?@yeahboy您还可以使用实现Result
的常规类。我想最好的方法是一个意见问题,这取决于您的具体用例。我明白了。谢谢,这回答了我的问题:)这是我的想法,但我仍然对此感到困惑。谢谢匿名内部类是构建此列表的最佳方法吗?@yeahboy您还可以使用实现Result
的常规类。我想最好的方法是一个意见问题,这取决于您的具体用例。我明白了。谢谢,这回答了我的问题:)