Много способов узнать, насколько много

Aug 13, 2013   #java  #ни о чём 

Разные контейнеры/коллекции разных объектов имеют разные интерфейсы доступа. Это нормально. Но часто в произвольный момент можно позабыть, какой из методов необходимо использовать для узнавания количества элементов, содержащихся в этом нечто.

Итак, поехали.

Простой массив

int [] array = new int[10];
int length = array.length;

Здесь .length — даже не метод. Он выглядит как простое публичное поле класса.

org.json.JSONArray

JSONArray jsonArray = new JSONArray();
int length = jsonArray.length();

А вот здесь length() - уже метод)

java.util.List

List<Integer> list = new ArrayList<Integer>();
int length = list.size();

android.widget.Adapter

Adapter adapter = new ArrayAdapter<Integer>(getContext(), android.R.layout.simple_list_item_1, new int[10]);
int length = adapter.getCount();

java.lang.reflect.Array

int [] array = new int[10];
int length = Array.getLength(array);

Хоть это и не класс, содержащий в себе что-то, но метод для определения длины массива он содержит =)

В общем, если погуглить и постараться, то список можно продолжать =)
Найдутся length, size, count в разных комбинациях с префиксом get и без.

Это всё учить и запоминать не надо. В нужные моменты само вспомнится, в ненужные IDE спасёт подсказкой.

comments powered by Disqus