gpt4 book ai didi

java - 链接功能接口(interface) - IntUnaryOperator 与 UnaryOperator

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:58 28 4
gpt4 key购买 nike

我仍在学习函数式接口(interface)。我想知道为什么我能够将 UnaryOperator 链接到 Function 的末尾,但不能将 IntUnaryOperator 链接到末尾具有相同的功能。

UnaryOperator <String> twoOfMe = s -> s + s;
Function <String, Integer> convertMe = s -> Integer.parseInt (s);

UnaryOperator <Integer> twiceMe = n -> 2*n;

IntUnaryOperator doubleMe = n -> 2*n;

int a = twoOfMe.andThen(convertMe).andThen(twiceMe).apply ("2");

int b = twoOfMe.andThen(convertMe).andThen(doubleMe).apply ("2");

int a 适用于 twiceMeint b 不适用于 doubleMe

谢谢

编辑:它说不兼容的类型。必需的整数。找到 java.lang.Object

最佳答案

andThen(Function<? super R, ? extends V> after)期望一个 Function争论。 UnaryOperator<Integer>Function<Integer,Integer>的子接口(interface), 哪个匹配。 IntUnaryOperatorFunction无关接口(interface),所以doubleMe无法传递给 andThen .

关于java - 链接功能接口(interface) - IntUnaryOperator 与 UnaryOperator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728811/

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