Прежде всего, вы должны использовать List<Person>
, если это возможно. Затем я рекомендую разбить цепочку методов на более мелкие шаги, чтобы увидеть, какой именно шаг не выполняется.
public List<Person> searchZodiac(String zodiac) {
assert zodiac != null; // if it fails here, zodiac == null
List<Person> result = new ArrayList<Person>();
for (Person p : persons) {
Data d = p.getData(); // if it fails here, p == null
String z = d.getZodiac(); // if it fails here, d == null
if (z.equals(zodiac)) { // if it fails here, z == null
result.add(p);
}
}
return result;
}