Вы не показали нам, где создается s1
, но похоже, что s1
не содержит ничего для некоторого индекса i
.
Я склонен писать циклы for такчтобы сделать подобный код немного чище
Object result = null;
for(int i=0;i<s1.length;i++){
Object current = s1[i]; // Replace Object with whatever your array actually contains
if(current.getX() == x && current.getY() == y) {
result = current;
break; // if you only need the first match
}
}
return result;
Такие вещи, как форматирование, важны и, в первую очередь, помогут вам предотвратить ошибки и упростить их поиск, когда они произойдут ....