以下は、classNameis"java.awt.Rectangle"などの場合は正常に"java.lang.String"機能します。ただし、は失敗し"java.lang.Integer"、を"java.lang.Double"与えます。java.lang.InstantiationExceptionclassDefinition.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);