有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Util函数和Collections4 Transformer之间有什么区别?

接口的区别是什么:

他们不是在做类似的动作吗

T-->;做事-->;R

假设我有一个User对象,我想让其中一个接口将loginname作为该对象的String返回给我。我可以两者都用吗

@Override
    public String apply(User user) {
        return user.getLoginname();
    }

@Override
    public String transform(User user) {
        return user.getLoginname();
    }

共 (2) 个答案

  1. # 1 楼答案

    这两个接口具有相同的功能,它们以某种类型的对象作为输入,并返回某种类型(可能不同)的对象Transformer的文档范围稍窄一些,在某种意义上,“计算的转换”对我来说是“计算的函数”的一种特殊情况,但这很弱

    这些接口之间最重要的区别在于实例如何与其他对象一起使用。它们是不可互换的。因此,如果您想使用TransformedList,那么必须根据Transformer而不是Function来定义它。如果要从Stream获取flatMap,则需要Function,而不是Transformer

    但是,由于它们基本上只是同一想法的不同名称,因此编写适配器使您能够在需要另一种类型的上下文中使用一种类型是很简单的

  2. # 2 楼答案

    What is the difference?

    名字

    Aren't they doing a similar action?

    I could use both?

    当然可以,但是如果可以使用内置类型,为什么还要依赖Commons Collections