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

标签 java lambda inner-classes anonymous

我有这个界面:

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

我想创建一个结果数组列表,这样做效果很好:

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

});

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

最佳答案

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

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

关于java - 是否可以使用 Lambda 而不是匿名类来创建新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36676763/

相关文章:

java - 我们可以在 Java 中创建接口(interface)的实例吗?

java - Jsoup 将我的 javascript 字符串转换为一行

java - 通过查询查找已删除的行数

java - Core Java Volume 1 第 6 章 6.4.7 静态内部类

c# - 使用 string.Join 与 LINQ 分隔的逗号

java - 如何使用字符串流扩展(解析)路径

python - 嵌套类的范围?

java - 如何使用 Spring XML 配置来设置包含特定类型所有 bean 列表的 bean 属性?

java - 即使 file.exists()、file.canRead()、file.canWrite()、file.canExecute() 都返回 true,file.delete() 也会返回 false

c++ - 需要澄清 SFINAE 中的 Lambdas、auto 和 decltype