Я пытаюсь понять исходный код:Почему основная функция возвращает неожиданный результат выполнения?
public class InstrumentedSet extends HashSet {
// Keeps the number of attempted element insertions
private int addCount;
public InstrumentedHashSet(Collection c) {
super(c);
}
public boolean add(Object o) {
addCount++;
return super.add(o);
}
public boolean addAll(Collection c) {
addCount += c.size();
return super.addAll(c);
}
public int getAddCount() {
return addCount;
}
public static void main(String[] args) {
InstrumentedHashSet s = new InstrumentedHashSet();
String s1[] = new String[] {"Snap","Crackle","Pop"};
s.addAll(Arrays.asList(s1));
System.out.println(s.getAddCount());
}
}
}
Я не могу понять, почему главная функция возвращает значение выполнения 6 вместо значения возврата 3.
Зачем ему возвращаться 3? –
Потому что мы итерируем 3 строки. –
Где вы ссылаетесь на 3 строки и что это имеет отношение к счету? –