gpt4 book ai didi

java - 如何使用 java 8 创建抽象函数

转载 作者:行者123 更新时间:2023-12-01 14:10:29 25 4
gpt4 key购买 nike

我正在尝试使用 Java 8 实现管道设计模式,下面的文章供我引用:

https://stackoverflow.com/a/58713936/4770397

代码:

public abstract class Pipeline{
Function<Integer, Integer> addOne = it -> {
System.out.println(it + 1);
return it + 1;
};

Function<Integer, Integer> addTwo = it -> {
System.out.println(it + 2);
return it + 2;
};

Function<Integer, Integer> timesTwo = input -> {
System.out.println(input * 2);
return input * 2;
};

final Function<Integer, Integer> pipe = sourceInt
.andThen(timesTwo)
.andThen(addOne)
.andThen(addTwo);
}

我正在尝试添加一种抽象方法并想要覆盖它。
我正在尝试做类似的事情:
abstract BiFunction<Integer, Integer,Integer> overriden; 

并将管道更改为:
final Function<Integer, Integer> pipe = sourceInt
.andThen(timesTwo)
.andThen(overriden)
.andThen(addOne)
.andThen(addTwo);
}

但问题是,我不知道声明 Function<Integer, Integer>作为一种抽象方法。

最佳答案

您可以只声明一个常规的抽象方法,该方法采用 Integer并返回 Integer并使用方法引用语法来引用它:

public abstract Integer overridden(Integer input);

final Function<Integer, Integer> pipe = sourceInt
.andThen(timesTwo)
.andThen(this::overridden)
.andThen(addOne)
.andThen(addTwo);

关于java - 如何使用 java 8 创建抽象函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60914655/

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