仅靠简单名称来反思地找到一个类

仅靠简单名称来反思地找到一个类,第1张

仅靠简单名称来反思找到一个类

Java不会阻止您创建自己的

my.company.Integer
类和
my.other.company.Integer
类,因此它如何无法知道哪个
Integer
类是
正确的 类。

我可以建议的答案最接近的是,创建一个预定义的软件包列表,在其中您要搜索该类,并继续尝试每个软件包,直到找到您的类为止。

所以像这样:

class ClassFinder{  public static final String[] searchPackages = {    "java.lang",    "java.util",    "my.company",    "my.company.other" };  public Class<?> findClassByName(String name) {    for(int i=0; i<searchPackages.length; i++){      try{        return Class.forName(searchPackages[i] + "." + name);      } catch (ClassNotFoundException e){        //not in this package, try another      } catch (...){        //deal with other problems...      }    }    //nothing found: return null or throw ClassNotFoundException    return null;  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5487007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存