Vector
не пусто. Как вы говорите, если бы это было так, тело цикла не было бы выполнено.
Если вы получаете NPE на этой линии, это означает, что один (или более) из элементов Vector
равен null
.
Я также должен отметить, что пример кода синтаксически некорректен. Вероятно, следует читать что-то вроде этого:
Vector<Foo> v = ...
for (Foo f : v)
{
f.doStuff(); // this line throws a NullPointerException
}