gpt4 book ai didi

java - 接口(interface)中的 Guava 函数

转载 作者:行者123 更新时间:2023-11-30 03:41:55 25 4
gpt4 key购买 nike

我正在浏览 Java 6 的旧代码库,我在其中一个界面中看到了这一点

public static Function<Model, Map<? extends Class<? extends Feature>, Map<String, String>>> getRequiredFeatures = new Function<Model, Map<? extends Class<? extends Feature>, Map<String, String>>>() 
{
@Override
public Map<? extends Class<? extends Feature>, Map<String, String>> apply(final Model input)
{
return input.getRequiredFeatures();
}
};

除了很多泛型类型之外,我不明白的是这里到底做了什么。我们不是只允许在接口(interface)中声明方法签名吗?那么这是如何工作的呢?我还在代码中看到了很多我也不明白的内容:

public static Function<Model, Set<Model>> unwrap = function(FuncitoGuava.<Model, Set<Model>>functionFor(callsTo(Model.class).unwrap()));

这可能是一个菜鸟问题,因为我对 FP 和 Guava 总体来说还很陌生。所以请轻松回答这个问题。谢谢。

最佳答案

第一个代码片段不是方法声明。这是一个字段声明。

该字段的类型为com.google.commons.base.Function<F, T>这是一个接口(interface),因此您需要实现该接口(interface)的所有方法(实际上是 public Map<...> apply(final Model input) )

关于java - 接口(interface)中的 Guava 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26650447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com