编译时报错,newInstance返回的是一个Object类型,赋给一个String类型。
package com.xiaozhi.box;
import java.lang.reflect.Constructor;
public class Test {
public static void main(String[] args) throws Exception {
Constructor constructor= String.class.getConstructor(StringBuffer.class);
String str=constructor.newInstance(new StringBuffer("xiaozhi"));
}
}
编译时不报错,运行时报错,因为构造函数接受的是StringBuffer类型
package com.xiaozhi.box;
import java.lang.reflect.Constructor;
public class Test {
public static void main(String[] args) throws Exception {
Constructor constructor= String.class.getConstructor(StringBuffer.class);
String str=(String) constructor.newInstance("xiaozhi");
}
}