Я исхожу из php-фона и в php, существует функция array_size()
, которая сообщает вам, сколько элементов в массиве используется.
Есть ли аналогичный метод для массива String[]
? Спасибо.
Я исхожу из php-фона и в php, существует функция array_size()
, которая сообщает вам, сколько элементов в массиве используется.
Есть ли аналогичный метод для массива String[]
? Спасибо.
Да, .length
(свойство-like, а не метод):
String[] array = new String[10];
int size = array.length;
array.length
Это фактически конечный элемент массива, а не метод.
свойство array.length final
это общедоступное и окончательное свойство. Это окончательно, потому что массивы в Java неизменяемы по размеру (но изменяемые по значению элемента)
Также полезно заметить, что если у вас многомерный массив, вы можете получить соответствующее измерение, просто добавив '[0]' к массиву, который вы запрашиваете, до тех пор, пока не придете к соответствующей оси/кортежу/измерение.
Скорее всего, это объясняется следующим кодом:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
Что производит вывод:
5
12
Массивы являются объектами и имеют поле длины.
String [] haha = { "olle", "bulle" };
haha.length будет 2
В java есть поле length
, которое вы можете использовать для любого массива, чтобы узнать его размер:
String[] s = new String[10];
System.out.println(s.length);
Если вы хотите, чтобы функция выполняла это
Object array = new String[10];
int size = Array.getlength(array);
Это может быть полезно, если вы не знаете, какой тип массива у вас есть, например. int [], byte [] или Object [].
Ответ: "Все они". Ява-массив выделяется фиксированным количеством слотов элементов. Атрибут "длина" расскажет вам, сколько. Это число является неизменным для жизни массива. Для эквивалентного размера вам нужен один из классов java.util.List, где вы можете использовать метод size(), чтобы узнать, сколько элементов используется.
Однако, там "In use", а затем "In Use". В массиве объектов класса вы можете иметь слоты элементов, элементы которых являются нулевыми объектами, поэтому, даже если они учитываются в атрибуте длины, но большинство определений людей, они не используются (YMMV, в зависимости от приложения). Там нет встроенной функции для возврата нулевых/ненулевых значений.
В списке объектов есть еще одно определение "Использовать". Чтобы избежать чрезмерного создания/разрушения базовых структур хранения, обычно в них добавляются пробелы. Он используется внутренне, но не учитывается в возвращаемом методе size(). И если вы попытаетесь получить доступ к этим элементам без расширения списка (с помощью методов добавления), вы получите недопустимое исключение индекса.
Итак, для списков вы можете использовать "In Use" для непустых, зафиксированных элементов, всех совершенных элементов (включая нулевые элементы) или всех элементов, включая выделенное пространство расширения.
Существует разница между длиной String
и array
, чтобы уточнить:
int a[] = {1, 2, 3, 4};
String s = "1234";
a.length //gives the length of the array
s.length() //gives the length of the string
Все приведенные выше ответы являются правильными. Важно наблюдать, что массивы имеют атрибут длины, но не длину. Всякий раз, когда вы используете строки и массивы в java, вы можете столкнуться с тремя основными моделями:
Не совсем ответ на ваш вопрос, но если вы хотите иметь что-то вроде массива, который может расти и сокращаться, вы не должны использовать массив в java. Вы, вероятно, лучше всего используете ArrayList или другую реализацию списка.
Затем вы можете вызвать size(), чтобы получить его размер.