首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstantiationException for newInstance()

InstantiationException for newInstance()
EN

Stack Overflow用户
提问于 2012-08-06 04:37:51
回答 2查看 34.3K关注 0票数 26

className"java.awt.Rectangle""java.lang.String"等时,下面的操作很好。但是对于"java.lang.Integer"来说,它失败了,"java.lang.Double"给出了classDefinition.newInstance()java.lang.InstantiationException

代码语言:javascript
复制
Class classs = Class.forName(className);
Object object = classs.newInstance();

这是包装类的问题还是另一个问题?

编辑:做这件事的方法-学分应该分配给Jigar.

代码语言:javascript
复制
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);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-06 04:39:12

由于Integer没有-arg(默认)构造函数,class.newInstance()将在内部调用默认构造函数。

票数 36
EN

Stack Overflow用户

发布于 2012-08-06 04:41:18

Class.newInstance()只能调用零参数构造函数,而Integer没有零参数构造函数。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11822621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档