gpt4 book ai didi

java - 根据调用方法更改返回类型

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:57 24 4
gpt4 key购买 nike

基本上,我想要的是两个返回值略有不同的公共(public)方法,以调用相同的方法来完成所需的任何工作。它们都返回私有(private)方法的返回值,但是私有(private)方法将根据调用它的公共(public)方法知道如何返回正确的值。

示例方法:

public Map<Type1, Type3> doSomething1();
public Map<Type2, Type3> doSomething2();

private Map<Type1/Type2, Type3> doSomething();

因此,在上面的示例中,doSomething() 返回 Type1 或 Type2 作为 Map 的键类型,具体取决于调用它的公共(public)方法。它将能够执行简单的检查,并使用正确类型的对象填充 map 。

也许这可以通过一些聪明的 Java 反射来完成?我不确定。这一切看起来都很狡猾,所以如果有更好的方法来解决这个问题,我会洗耳恭听。

最佳答案

我强烈建议在这里避免使用 reflection-mojo。一个函数必须正确地做一件事,不能依赖于调用它的人。

更好的方法是将 doSomething() 重构为更小的函数,创建两个名为 doSomethingFor1() 和 doSomethingFor2() 的新函数。这两个函数都可以重用旧 doSomething() 的重构部分。

现在调用 doSomething1() 并使用 doSomethingFor1()。

同样,doSomething2() 应该使用 doSomethingFor2()。

干杯,

jrh.

关于java - 根据调用方法更改返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919355/

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