A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李方哲 黑马帝   /  2011-9-28 17:33  /  2861 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我有一个字符串,跟我一个类的名字一样,
我怎样才能通过这个字符串得到这个类的对象,而不是class?
刚开始问问题我没叙述明白,现在改一下,
[ 本帖最后由 李方哲 于 2011-09-29  01:56 编辑 ]

6 个回复

倒序浏览
黑马网友  发表于 2011-9-28 18:00:18
沙发
使用反射机制。例如Class cla = Class.forName("字符串");这样就得到了这个类,不过你的字符窜必须是包.类名称 的形式。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-28 18:18:54
藤椅
Class.forName就行,具体请看张老师的高新技术反射篇的开始部分
回复 使用道具 举报
黑马网友  发表于 2011-9-29 01:20:43
板凳
应该是典型的反射 用Class.forName(calssname) 就可以了
回复 使用道具 举报

回复 板凳 的帖子

我当时走路上想的这个问题,我一直在想有没有个方法能不通过反射的方式得到这个类的对象,当时我确实没想到反射,这个我承认当时我有点小nc,
[ 本帖最后由 李方哲 于 2011-09-29  02:49 编辑 ]
回复 使用道具 举报
黑马网友  发表于 2011-9-29 02:39:16
地板
一个我觉得很难但是也许很简单的问题
我有一个字符串,跟我一个类的名字一样,
我怎样才能通过这个字符串得到这个类的对象,而不是class?

楼主的意思可能是:我有个跟我类名字一样的字符串,比如"java.lang.String",我如何才能通过这个字符串得到
String的实例对象,而不是class的实例对象,如果我猜得没错的话,其实实现的方法很简单,如
Class cls = Class.forName("java.lang.String");
String s = (String)cls.newInstance();
这样就可以用"java.lang.String"获得一个String实例对象
回复 使用道具 举报
黑马网友  发表于 2011-9-29 02:48:44
7#
这个问题我确实问有点傻,我错了,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马