gpt4 book ai didi

java - 尽管参数不同,方法还是递归调用?

转载 作者:行者123 更新时间:2023-12-02 06:19:12 25 4
gpt4 key购买 nike

我有以下方法。它给出了StackoverflowError。有什么原因吗?

SomeClass.java

public static <T extends BaseClass> T newObject(Class<T> classOfT, Emp data) {

return newObject(classOfT, data);
}

newObject方法实现

 private static <T extends BaseClass> T newObject(Class<T> classOfT, Object data) {

//some logic and return subclass instance of BaseClass
}

这里递归调用 newObject 方法。但为什么不调用私有(private)的newObject方法呢?

谢谢!

最佳答案

更改为

public static <T extends BaseClass> T newObject(Class<T> classOfT, Emp data) {

return newObject(classOfT, (Object)data);
}

Uppercast 将第二个参数转换为 Object 类型。这将对适合方法签名的私有(private)方法进行适当的调用

关于java - 尽管参数不同,方法还是递归调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21163013/

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