java – 通用返回类型?
我不确定这在Java中是否可行。 此外,我无法弄清楚要在Google上查询的内容。 无论如何,我想要一个方法,将一个参数作为一个Class(接口或类),方法的返回类型是该类的一个实例。 我不想在事后重新制作一个Object。
我不确定这个function是否存在或语法是什么。 假设我有一个名为XYZ的类,这是我的伪方法。
private XYZ createInstance(XYZ.class, other args) { ... // create an instance of XYZ with other args named "_xyz_" ... return _xyz_; }
现在假设XYZ是某种通用语法。 这在Java中是否可行? 谢谢你的帮助。
private T createInstance(Class extends T> c) { return c.newInstance(); }
使用钻石运算符:
private T createInstance(Class concreteClass){ return concreteClass.newInstance(); } //usage Integer i = instanceWithThatMethod.createInstance(Integer.class);
要传递“参数”,您必须使类的构造函数与所需的参数类型匹配,并调用该参数的调用,如下所示:
private T createInstance(Class concreteClass, String stringArg){ return concreteClass.getConstructor(String.class).newInstance(stringArg); } //usage SomeClass s = createInstance(SomeClass, "testString"); //equals SomeClass s = new SomeClass("testString"); //where SomeClass HAS to serve: public SomeClass(String s){ ... }