Ну, это проблема:
if (centroids.length == 0)
Насколько я вижу, вы никогда не назначаете значение centroids
, поэтому оно всегда будет нулевым. Затем, когда вы попытаетесь разыменовать его в строке выше, он выдаст NullPointerException
.
Первое, что следующая строка кода пыталась использовать centroids[0]
, предполагает, что вы не совсем понимаете массивы Java. Возможно, вы действительно хотели List
какого-то описания?
Я бы также настоятельно предположил, что вместо Map<String, String>
, который всегда имеет одинаковые пять ключей, вы создаете тип (например, Centroid
), который имеет свойства title, description, tags, time и событие. Тогда вы можете просто сделать centroids
a List<Centroid>
:
List<Centroid> centroids = new ArrayList<Centroid>();
затем, когда вы получите некоторые данные ...
Centroid centroid = new Centroid(...);
centroids.add(centroid);
О, и вы также в настоящее время используете ==
для сравнения строк ... не делайте этого: используйте equals
, иначе вы будете сравнивать строку ссылки .