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; }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)