gpt4 book ai didi

Java:如何将类传递给函数进行实例化

转载 作者:行者123 更新时间:2023-11-30 06:30:55 24 4
gpt4 key购买 nike

请原谅我的无知,但我无法在别处找到答案。

我有以下代码:

int value = 5;
Strategy s = new Strategy(convert(value));
mainClass.setStuff(s, value);

该策略使用基于“值”转换的数字进行初始化。mainClass 使用未转换的“值”。

我想做的是通过仅向 mainClass 提供使用哪个 Strategy 以及哪个未转换值的信息来简化此操作,因此 mainClass 应该执行 Strategy 的实例化和初始化并处理该值。

在 C++ 中,这可以通过模板实现:

int value = 5;
mainClass.setStuff<Strategy>(value);

我能否以某种方式在 Java 中完成这项工作?它似乎不适用于泛型,因为与 C++ 不同,Java 无法推断参数的类型,因此我无法初始化 Strategy。

最佳答案

更改 setStuff public <T extends Strategy> ReturnType setStuff(Class<T> clazz, int value) 的方法签名.然后你可以find the correct constructor并创建你的 new instance .

关于Java:如何将类传递给函数进行实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050880/

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