После работы отлично, когда className
"java.awt.Rectangle"
и "java.lang.String"
и т.д. Но он не работает для "java.lang.Integer"
, "java.lang.Double"
, давая java.lang.InstantiationException
для classDefinition.newInstance()
.
Class classs = Class.forName(className);
Object object = classs.newInstance();
Это проблема с классами Wrapper или другими?
Отредактировано: способ сделать это - кредиты должны отправиться в Jigar.
Class integerDefinition = Class.forName("java.lang.Integer");
Constructor intArgsConstructor = integerDefinition.getConstructor(new Class[] {int.class});
Object[] intArgs = new Object[] { new Integer(12) };
Object object = intArgsConstructor.newInstance(intArgs);