gpt4 book ai didi

java - 将对象提供给消费者并返回对象

转载 作者:行者123 更新时间:2023-12-01 17:43:36 26 4
gpt4 key购买 nike

我有很多地方需要获取一个对象,根据该对象的状态执行一些副作用,然后最终返回该对象。对于特定的类 Foo,我可以编写一个方法

public Foo perform(Consumer<Foo> sideEffect) {
sideEffect.accept(this);
return this;
}

足够简单,但我不想为每个类都重写它,而且我也希望它适用于不属于我的类。我无法将此方法添加到 Object,并且我不想创建返回参数的 Consumer 子类。有更好的方法吗?

最佳答案

您可以编写一个接受 Consumer<? super T> 的通用实用方法。和T输入参数并完成这件事。请注意,您必须在此处使用方法级泛型。这是它的样子。

public static <T> T perform(Consumer<? super T> sideEffect, T obj) {
sideEffect.accept(obj);
return obj;
}

关于java - 将对象提供给消费者并返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58036218/

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