例如类A
A的的路径为 com.test.A如何通过"A"获取com.test.A?

解决方案 »

  1.   

    假设有
        com.test.A
        com.interface.A
        com.impl.A
        org.jboss.A
    你想找哪一个呢?
      

  2.   

    如果有多个的话,最好能返回一个list或者array,现在我们的项目中都是根据模块编码命名的,因此理论上不存在重名的类
      

  3.   

    直接匹配“package”关键字不久行了??或者利用反射机制直接获取。
      

  4.   

    1、直接匹配package关键字效率太低吧,工程比较大的话,遍历的次数就太多了;
    2、反射机制还没想到很好的方法,有什么高见吗?
      

  5.   

    哈哈, 那样就有点难度咯, 你先拿到systemClassLoader
    把里面已加载的类拿出来遍历, 在递归遍历子类加载器。
      具体代码我也没写过,不过你可以试试
      

  6.   

    直接这样写不行吧,forName(package+className),否则就报java.lang.ClassNotFoundException:
      

  7.   

    在程序运行的时候直接去便利package 这样速度 和 性能 不太好
    一个方法是在程序运行之前 就把与该项目相关的所有package中的路径都放到内存中
    其中对类名有关键字列表  
    每次打出来个类名  直接从内存中找匹配的显示出来
      

  8.   

    现在只知道类名,是一个字符串,而非class对象,通过类名回去类的完整路径,即package+className
      

  9.   

    ClassName.class.getResource(pathname).getURL()
      

  10.   

    ClassName.class.getResource(pathname).getURL()