我已经创建了这个新集合,并希望将项目添加到集合中。但它不会进入循环。我尝试运行该程序,但它不会显示在 for 循环中。我不确定高速公路或如何更改代码以使其正常工作。
Set<Name> names = Sets.newHashSet();
for (Name n : names) {
System.out.println("in the for loop");
n.setName("Tom);
}
这是你的程序的作用,用英语:
Set<Name> names = Sets.newHashSet();
让我们创建一个新的空名称集,我们将其称为“名称”
for (Name n : names) {
让我们遍历我们刚刚创建的空集中存在的所有名称。这显然是无用的,因为集合是空的。
System.out.println("in the for loop");
让我们向控制台写入我们在循环中的信息。这永远不会被执行,因为集合是空的。
n.setName("Tom);
让我们在循环中更改当前 Name 对象的名称。但由于循环永远不会执行,它永远不会发生。
在迭代集合中的元素之前,将元素添加到集合中:
Name n = new Name("Tom"); // this creates an new object of type Name
names.add(n); // this adds the Name we just created to the set.
// Now the set has 1 element.
如果要向集合中添加多个名称,还可以使用循环,并在每次迭代时创建并添加一个新名称:
for (int i = 0; i < 10; i++) {
Name n = new Name("Tom " + i);
names.add(n);
}
// now the set contains 10 elements: Tom 0, Tom 1, ..., Tom 9