我知道这个问题已经回答了一段时间.但是参数一直是一个对象.多数民众赞成我要替换的东西:
if (s.equals("A")) { add (obj = new A(x,y)); }
if (s.equals("B")) { add (obj = new B(x,y)); }
if (s.equals("C")) { add (obj = new C(x,y)); }
Run Code Online (Sandbox Code Playgroud)
我有这个:
try
{
Class cl = Class.forName(s);
Constructor con = cl.getConstructor (x, y);
obj = con.newInstance(x, y);
}
Run Code Online (Sandbox Code Playgroud)
但是它期望x,y作为一个类,但它是一个int.怎么做>
你需要
cl.getConstructor(int.class, int.class);
Run Code Online (Sandbox Code Playgroud)
有些Class对象反映了原始类型,甚至void类型也有反射对应的类型Void.class.