【发布时间】:2018-06-17 10:18:22
【问题描述】:
我无法将 JLabel 添加到集合中。 listOfFiles == 3 个不同的文件。 System.out.println(set.size()) 仍然返回 0。
public HashSet<JLabel> startCheckedFiles(){
HashSet <JLabel> set = new HashSet<>();
File folder = new File("utwory\\");
File[] listOfFiles = folder.listFiles();
final Runnable r = new Runnable() {
public void run() {
while(1==1) {
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
set.add(new JLabel(listOfFiles[i].getName())); //listOfFiles == 3 diffrent files
}
}
}
}
};
final Thread t = new Thread(r);
t.start();
System.out.println(set.size()); // return 0
return set;
}
为什么HashSet的大小还是0?
【问题讨论】:
标签: java multithreading collections