以下は、className
is"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);