2
请原谅我的无知,但我无法在其他地方找到答案。Java:如何将一个类传递给一个函数实例化
我有以下代码:
int value = 5;
Strategy s = new Strategy(convert(value));
mainClass.setStuff(s, value);
策略与被基于“价值”的转换的数初始化。 mainClass使用未转换的“值”。
我想要做的就是简化这个过程,只给mainClass提供哪些Strategy使用的信息,以及哪些未转换的值,因此mainClass应该做策略的实例化和初始化并处理值。
在C++中,这将是可能的模板:
int value = 5;
mainClass.setStuff<Strategy>(value);
我可以使这项工作在Java中不知何故?它似乎不像C++那样使用泛型,Java不能推断参数的类型,所以我无法初始化策略。
但是,那不就是说要传递一个对象给setStuff吗?换句话说,我需要实例化策略,将其传递给setStuff,然后再次实例化它以供使用?我在这里看不到优势。 – Cerno 2012-04-07 01:27:51
@Cerno不,你正在传递对象的'Class',而不是对象本身。如果你想传入'Strategy'类,你可以调用'setStuff(Strategy.class,value)'。 – Jeffrey 2012-04-07 01:30:25
啊,我明白了。我会给那个一个去。 – Cerno 2012-04-07 01:32:12