请原谅我的无知,但我无法在其他地方找到答案。
我有以下代码:
int value = 5;
Strategy s = new Strategy(convert(value));
mainClass.setStuff(s, value);
策略使用基于“值”转换的数字进行初始化。mainClass 使用未转换的“值”。
我想做的是通过仅向 mainClass 提供要使用的策略以及未转换的值的信息来简化这一点,因此 mainClass 应该进行策略的实例化和初始化并处理该值。
在 C++ 中,这可以通过模板实现:
int value = 5;
mainClass.setStuff<Strategy>(value);
我可以以某种方式在 Java 中完成这项工作吗?它似乎不适用于泛型,因为与 C++ 不同,Java 无法推断参数的类型,因此我无法初始化 Strategy。