我正在尝试使用镜像来调用我的类MyClass的方法s1,参数为s2。 Java抱怨String.TYPE不存在。我检查了API并且它是正确的:我不能做与调用Integer.TYPE时相同的事情。但是我怎么能解决这个问题呢?我需要类型为String的类型,否则该方法会抛出异常。
public void trying(MyClass method, String s1, String s2){
try {
Class cls = Class.forName("MyClass");
Class partype[] = new Class[1];
partype[0] = String.TYPE;
Method meth = cls.getMethod(s1, partype);
meth.invoke(methobj, s2);
}
catch (Throwable e) {
System.err.println(e);
}
}
答案 0 :(得分:8)
这不是一种类型,它是class
:
partype[0] = String.class;