Привет, как мы могли бы найти документы, которые перечисляют все возможные свойства и функции объекта массива? Я не имею в виду объект Arrays, который является единственными документами, которые я могу найти.
Также, вероятно, полезно отметить, что если у вас есть многомерный массив, вы можете получить соответствующее измерение, просто добавив «[0]» к массиву, который запрашиваете, пока не достигнете соответствующей оси / кортежа / измерения.
Это, вероятно, лучше объяснить с помощью следующего кода:
publicclassTest{publicstaticvoid main(String[] args){String[][] moo =newString[5][12];System.out.println(moo.length);//Prints the size of the First Dimension in the arraySystem.out.println(moo[0].length);//Prints the size of the Second Dimension in the array}}
Просто чтобы придираться. Но я считаю, что массивы НЕ являются объектами в Java - они являются одним из двух ссылочных типов переменных. Другие существа объекты.
Джабби
2
@jabbie: Правда? У вас есть ссылка на это? Я задаю этот вопрос только потому, что вы можете сказать Object o = new String [] {"hello"};
Саймон Никерсон
Симон, я думаю, причина того, что оператор работает, состоит в том, что они ввели рефлексивные классы для всех примитивных типов.
спасибо за то, что вы не разбираетесь в технических деталях о том, что это может или не может быть, и просто предоставили краткий и краткий ответ. +1 для вас. :)
Это должно быть обновлено в вопросе, если это уточнение.
Whitecat
5
Ответ: «Все они». Массив Java выделяется с фиксированным количеством слотов элементов. Атрибут "длина" скажет вам, сколько. Это число является неизменным для жизни массива. Для эквивалента с изменяемым размером вам нужен один из классов java.util.List, где вы можете использовать метод size (), чтобы узнать, сколько элементов используется.
Однако есть «Используется», а затем « Используется» . В массиве объектов класса вы можете иметь слоты элементов, элементы которых являются нулевыми объектами, поэтому, даже если они учитываются в атрибуте длины, но определения большинства людей не используются (YMMV, в зависимости от приложения). Нет встроенной функции для возврата нулевых / ненулевых значений.
Объекты списка имеют еще одно определение «В использовании». Чтобы избежать чрезмерного создания / уничтожения базовых структур хранения, в этих классах обычно есть некоторые отступы. Он используется внутри, но не учитывается в возвращаемом методе size (). И если вы попытаетесь получить доступ к этим элементам без расширения списка (с помощью методов добавления), вы получите недопустимое исключение индекса.
Таким образом, для списков вы можете использовать «Используется» для ненулевых, зафиксированных элементов, всех зафиксированных элементов (включая нулевые элементы) или всех элементов, включая пространство расширения, выделенное в настоящее время.
Все приведенные выше ответы являются правильными. Важно отметить, что массивы имеют атрибут длины, но не метод длины. Всякий раз, когда вы используете строки и массивы в Java, вы можете столкнуться с тремя основными моделями:
Строка s = новая строка ("видясагар");
System.out.println (s.length ()); // В этом случае мы используем только String. Нет атрибута длины для строк. мы должны использовать метод length ().
int [] s = new int [10]; System.out.println (s.length); // здесь мы используем атрибут длины массивов.
String [] s = новая строка [10];
System.out.println (s.length); // Здесь, хотя тип данных String, это не одна строка. s является ссылкой на массив строк. Поэтому мы используем атрибут длины массивов, чтобы выразить, сколько строк может поместиться в этом массиве.
Не совсем ответ на ваш вопрос, но если вы хотите иметь что-то вроде массива, который может увеличиваться и уменьшаться, вы не должны использовать массив в Java. Вы, вероятно, лучше всего используете ArrayList или другую реализацию List.
Затем вы можете вызвать size (), чтобы получить его размер.
Ответы:
Да
.length
(свойство, а не метод):источник
На самом деле это последний элемент массива, а не метод.
источник
Также, вероятно, полезно отметить, что если у вас есть многомерный массив, вы можете получить соответствующее измерение, просто добавив «[0]» к массиву, который запрашиваете, пока не достигнете соответствующей оси / кортежа / измерения.
Это, вероятно, лучше объяснить с помощью следующего кода:
Который производит вывод:
источник
Свойство array.length
это публичная и конечная собственность. Это окончательно, потому что массивы в Java неизменны по размеру (но изменяются по значению элемента)
источник
Массивы являются объектами и имеют поле длины.
String [] haha = {"olle", "bulle"};
ха-ха. длина будет 2
источник
В Java есть
length
поле, которое вы можете использовать в любом массиве, чтобы узнать его размер:источник
Если вы хотите, чтобы функция сделала это
Это может быть полезно, если вы не знаете, какой у вас массив, например, int [], byte [] или Object [].
источник
Есть разница между длиной
String
иarray
пояснениями:источник
Ответ: «Все они». Массив Java выделяется с фиксированным количеством слотов элементов. Атрибут "длина" скажет вам, сколько. Это число является неизменным для жизни массива. Для эквивалента с изменяемым размером вам нужен один из классов java.util.List, где вы можете использовать метод size (), чтобы узнать, сколько элементов используется.
Однако есть «Используется», а затем « Используется» . В массиве объектов класса вы можете иметь слоты элементов, элементы которых являются нулевыми объектами, поэтому, даже если они учитываются в атрибуте длины, но определения большинства людей не используются (YMMV, в зависимости от приложения). Нет встроенной функции для возврата нулевых / ненулевых значений.
Объекты списка имеют еще одно определение «В использовании». Чтобы избежать чрезмерного создания / уничтожения базовых структур хранения, в этих классах обычно есть некоторые отступы. Он используется внутри, но не учитывается в возвращаемом методе size (). И если вы попытаетесь получить доступ к этим элементам без расширения списка (с помощью методов добавления), вы получите недопустимое исключение индекса.
Таким образом, для списков вы можете использовать «Используется» для ненулевых, зафиксированных элементов, всех зафиксированных элементов (включая нулевые элементы) или всех элементов, включая пространство расширения, выделенное в настоящее время.
источник
Все приведенные выше ответы являются правильными. Важно отметить, что массивы имеют атрибут длины, но не метод длины. Всякий раз, когда вы используете строки и массивы в Java, вы можете столкнуться с тремя основными моделями:
System.out.println (s.length ()); // В этом случае мы используем только String. Нет атрибута длины для строк. мы должны использовать метод length ().
System.out.println (s.length); // Здесь, хотя тип данных String, это не одна строка. s является ссылкой на массив строк. Поэтому мы используем атрибут длины массивов, чтобы выразить, сколько строк может поместиться в этом массиве.
источник
Не совсем ответ на ваш вопрос, но если вы хотите иметь что-то вроде массива, который может увеличиваться и уменьшаться, вы не должны использовать массив в Java. Вы, вероятно, лучше всего используете ArrayList или другую реализацию List.
Затем вы можете вызвать size (), чтобы получить его размер.
источник