我是靠谱客的博主 彩色老师,最近开发中收集的这篇文章主要介绍java 枚举 动态_Java中的动态类加载(枚举),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

澄清一下,你的问题不是关于“

Java中的动态类加载”,而是关于动态类枚举 – 你知道如何加载类,你只是不知道你想要什么类.

从该页面开始,这里有一些应该有效的示例代码:

public static Class[] getClasses(String pckgname)

throws ClassNotFoundException {

ArrayList classes = new ArrayList();

// Get a File object for the package

File directory = null;

try {

ClassLoader cld = Thread.currentThread().getContextClassLoader();

if (cld == null) {

throw new ClassNotFoundException("Can't get class loader.");

}

String path = '/' + pckgname.replace('.', '/');

URL resource = cld.getResource(path);

if (resource == null) {

throw new ClassNotFoundException("No resource for " + path);

}

directory = new File(resource.getFile());

} catch (NullPointerException x) {

throw new ClassNotFoundException(pckgname + " (" + directory

+ ") does not appear to be a valid package");

}

if (directory.exists()) {

// Get the list of the files contained in the package

String[] files = directory.list();

for (int i = 0; i < files.length; i++) {

// we are only interested in .class files

if (files[i].endsWith(".class")) {

// removes the .class extension

classes.add(Class.forName(pckgname + '.'

+ files[i].substring(0, files[i].length() - 6)));

}

}

} else {

throw new ClassNotFoundException(pckgname

+ " does not appear to be a valid package");

}

Class[] classesA = new Class[classes.size()];

classes.toArray(classesA);

return classesA;

}

最后

以上就是彩色老师为你收集整理的java 枚举 动态_Java中的动态类加载(枚举)的全部内容,希望文章能够帮你解决java 枚举 动态_Java中的动态类加载(枚举)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部