SetOfObjects
创建为一个ArrayList<SubObject>
。在toString
方法中,循环没有问题,但在myFunction
中,我遇到了错误。请问有人能告诉我我做错了什么吗?
public class SetOfObjects {
private ArrayList<SubObject> setOfObjects;
public SetOfObjects(ArrayList<SubObjects> arr){
this.setOfObjects = arr;
}
@Override
public String toString() {
String finalString = "";
for (SubObject obj : setOfObjects) {
finalString += obj.toString();
}
return finalString;
}
public SetOfObjects myFunction(SetOfObjects aSet){
for (SubObject obj : aSet) { <----ERROR
//do something
}
}
SetOfObjects
没有实现Iterable<? extends SubObject>
。 - Andy TurnersetOfObjects
不是一个 set(集合),而是一个列表。这很令人困惑。你可以将它称为objects
(或listOfObjects
),或者将其实际上变成一个Set
(集合)。 - Andy TurnerStringBuilder
。使用+=
运算符会在每次循环中创建一个新的字符串对象。而 StringBuilder 则会重复使用同一个对象直到整个循环结束。 - Gi0rgi0s