java如何通过类名获取类的整个路径?

winer_mokou 2010-03-18 04:50:27
例如类A
A的的路径为 com.test.A

如何通过"A"获取com.test.A?
...全文
3753 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
thb140 2012-07-27
  • 打赏
  • 举报
回复
楼主这个问题解决了?
rongjianghong 2010-03-20
  • 打赏
  • 举报
回复 2
ClassName.class.getResource(pathname).getURL()
czmchen 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gg_wg 的回复:]

ClassName.class.getResource(pathname).getURL()
[/Quote]

写死路径这种方法最快
wolf521hf 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fireelf000 的回复:]

A.getClass().getName()
[/Quote]
这个方法可以
GG_wg 2010-03-18
  • 打赏
  • 举报
回复
ClassName.class.getResource(pathname).getURL()
winer_mokou 2010-03-18
  • 打赏
  • 举报
回复
现在只知道类名,是一个字符串,而非class对象,通过类名回去类的完整路径,即package+className
zhaining522 2010-03-18
  • 打赏
  • 举报
回复
在程序运行的时候直接去便利package 这样速度 和 性能 不太好
一个方法是在程序运行之前 就把与该项目相关的所有package中的路径都放到内存中
其中对类名有关键字列表
每次打出来个类名 直接从内存中找匹配的显示出来

winer_mokou 2010-03-18
  • 打赏
  • 举报
回复
直接这样写不行吧,forName(package+className),否则就报java.lang.ClassNotFoundException:
fireelf000 2010-03-18
  • 打赏
  • 举报
回复
A.getClass().getName()
梦_枫 2010-03-18
  • 打赏
  • 举报
回复
Class.forName("a").getName();

chenliuyang 2010-03-18
  • 打赏
  • 举报
回复
哈哈, 那样就有点难度咯, 你先拿到systemClassLoader
把里面已加载的类拿出来遍历, 在递归遍历子类加载器。
具体代码我也没写过,不过你可以试试
winer_mokou 2010-03-18
  • 打赏
  • 举报
回复
1、直接匹配package关键字效率太低吧,工程比较大的话,遍历的次数就太多了;
2、反射机制还没想到很好的方法,有什么高见吗?
  • 打赏
  • 举报
回复
直接匹配“package”关键字不久行了??或者利用反射机制直接获取。
winer_mokou 2010-03-18
  • 打赏
  • 举报
回复
如果有多个的话,最好能返回一个list或者array,现在我们的项目中都是根据模块编码命名的,因此理论上不存在重名的类
clariones 2010-03-18
  • 打赏
  • 举报
回复
假设有
com.test.A
com.interface.A
com.impl.A
org.jboss.A
你想找哪一个呢?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧