Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为循环访问外部数据_Java_Jar - Fatal编程技术网

Java 为循环访问外部数据

Java 为循环访问外部数据,java,jar,Java,Jar,我有一个主类和一个UI类 让我先解释一下。我目前正在做的是处理一些jar文件,以查找其中的所有类名(稍后用于反射) 在main中,我做一些事情并处理数据,在UI中有一个JTabbedPane,在插件正确加载时加载JFrame(为此,我从main共享UI类,然后调用它) 现在,为了使其动态化,我创建了一个很好的for循环,该循环遍历所有jar并获取所有类名 问题是,如何从外部访问for循环中找到的字符串? 编辑 一位评论员指出,我可以在for循环之外声明字符串,问题是我不知道我将加载多少jar,为

我有一个主类和一个UI类

让我先解释一下。我目前正在做的是处理一些jar文件,以查找其中的所有类名(稍后用于反射)

在main中,我做一些事情并处理数据,在UI中有一个JTabbedPane,在插件正确加载时加载JFrame(为此,我从main共享UI类,然后调用它)

现在,为了使其动态化,我创建了一个很好的for循环,该循环遍历所有jar并获取所有类名

问题是,如何从外部访问for循环中找到的字符串?

编辑 一位评论员指出,我可以在for循环之外声明字符串,问题是我不知道我将加载多少jar,为了方便用户,我希望保持主程序不变(因此没有更新只有插件更新,可以在运行时在jar内部处理)


如果这是愚蠢的,很抱歉。

正如评论中的人所说,您最好的选择是在循环之外声明一个
字符串的列表:

List<String> classnames = new ArrayList<String>();
for(String classname : jar) {
    classnames.add(classname);
}
List classnames=new ArrayList();
for(字符串类名:jar){
添加(classname);
}

类似这样的情况。

在for循环外部声明字符串,并在for循环内部分配值问题是我不知道要加载多少JAR,所以我认为分配20个空字符串是个坏主意。难道没有办法提高效率吗?在java中查找
列表
类以及如何使用它。然后添加它所有这些都是一个
列表
。另外,我不想冒犯你,但是:你真的认为在你对java的基本数据类型都不太了解的情况下,用反射做一些事情是个好主意吗?你可以在循环之外使用列表。@downvoter,为什么是downvote?获得相当多免费代表的好方法。不过,谢谢你和所有发表评论的人。抱歉,如果这感觉像是试图获得免费声誉。请随意勾选最佳答案。