Класс Java Array, включенный в пакет java.lang.reflect, является примером класса отражения. Массивы в Java могут быть созданы и доступны динамически с использованием статических методов класса Array. Невозможно изменить или создать экземпляр этого класса, поскольку он является окончательным. Доступ к любому из методов класса можно получить, просто обратившись к классу по имени.

Несколько статических методов для динамического построения массивов Java и доступа к ним доступны в классе java.lang.reflect.Array. При использовании этого класса Array вы можете быть уверены, что массив будет иметь правильный тип.

Класс Arrays, найденный в java.util, является частью Java Collection Framework. Динамически создавать массивы Java и обращаться к серверу с помощью статических методов, предоставляемых этим классом. Единственные методы, которые у него есть, это статические методы класса Object и те, которые он наследует от других классов. Имя класса может использоваться для доступа к его методам.

Курс разработки на Java для Android улучшит ваши знания и навыки.

ПАКЕТ СУЩЕСТВОВАНИЯ

Массив классов можно найти в библиотеке java.lang.reflect, тогда как массивы классов можно найти в библиотеке java.util. Класс Array требует, чтобы пакет java.lang.reflect был импортирован, прежде чем его можно будет использовать. Подобно тому, как пакет java.util должен быть импортирован, прежде чем можно будет использовать класс Arrays, java.lang должен быть импортирован, прежде чем можно будет использовать класс Arrays.

ИЕРАРХИЯ КЛАССОВ

В подпакете java.lang.reflect пакета java.lang.Object вы найдете класс Array.

java.lang.Объект

↳ java.lang.reflect

↳ Массив классов

Класс Arrays присутствует в пакете java.util, который является частью пакета java.lang.Object.

java.lang.Объект

↳ java.util

↳ Массивы классов

НЕИЗМЕНИМОСТЬ

Невозможно настроить или создать экземпляр класса Array, поскольку он является окончательным. Доступ к любому из методов класса можно получить, просто обратившись к классу по имени.

Массив является неизменяемым классом, поскольку он не может быть производным или расширенным.

Поскольку класс Array является окончательным, его нельзя изменить после создания.

Напротив, класс java.util.Arrays не гарантирует целостность данных.

ЗАЯВЛЕНИЕ

Это объявления для класса Array:

публичный окончательный класс Array расширяет объект

Объявление класса Arrays выглядит следующим образом:

общедоступный окончательный класс Массивы расширяет объект

И класс Array, и класс Arrays расширяют класс Object.

ИСПОЛЬЗОВАНИЕ КЛАССА UTIL.ARRAYS

При использовании статической фабрики в классе java.util.Arrays массивы можно рассматривать как списки. Массивы подробно описаны ниже.

Операции с массивами, которые могут быть выполнены, описаны во многих методах этого класса (таких как сортировка и поиск).

Если ссылка на массив имеет значение null, NullPointerException вызывается методами этого класса.

Например, функция equals() этого класса сравнивает два массива, отправленных в качестве аргументов.

Пример

импортировать java.util.Arrays;

открытый класс ComparingArrays {

public static void main (String args []) {

String[] myArray1 = {"JavaFX", "HBase", "OpenCV", "WebGL", "FlexBox"};

String[] myArray2 = {"JavaFX", "HBase", "OpenCV", "WebGL", "FlexBox"};

Логический результат = Arrays.equals(myArray1, myArray2);

System.out.println(результат);

}

}

Выход

Истинный

Методы asList() этого класса принимают массив и возвращают список фиксированного размера.

Пример

импортировать java.util.Arrays;

импортировать java.util.List;

открытый класс ArrayToList {

public static void main (String args []) {

Integer[] myArray = {23, 93, 56, 92, 39};

Список списка = Arrays.asList(myArray);

System.out.println(список);

}

}

Выход

[23, 93, 56, 92, 39]

Несколько известных институтов предлагают Java полный курс разработчика Java.

КЛАСС LANG.REFLECT.ARRAY

Массивы Java могут быть созданы и доступны динамически путем реализации статических методов, предоставляемых классом Array, который является частью пакета java.lang.reflect. Array вызовет исключение IllegalArgumentException, если во время выполнения действия get или set будет предпринята попытка сужающего преобразования, но позволит выполнить расширяющее преобразование во время этих операций.

Этот класс предлагает методы доступа, методы установки и методы получения, а также метод newInstance(). Функция newInstance() принимает в качестве входных данных объект класса Class, который представляет необходимый компонент, и целое число, представляющее длину массива. Затем он генерирует и возвращает массив, соответствующий указанным параметрам.

Методы получения этого класса предоставляют такие вещи, как getLong(), getInteger() и getLong(), среди других подобных методов. предоставляет метод, который принимает объект, представляющий массив, в качестве аргумента и целое число, представляющее индекс, а затем возвращает элемент предоставленного массива, который поддерживает этот индекс и соответствует ему.

Методы установки этого класса, в том числе setLong(), setInteger() и setLong(), получают массив в виде объекта, целое число, обозначающее индекс, и значение соответствующего типа данных. Затем эти методы устанавливают предоставленное значение по указанному индексу.

Пример:

импортировать java.lang.reflect.Array;

импортировать java.util.Arrays;

открытый класс Reflection_ArrayExample {

public static void main (String args []) {

int [] intArray = (int []) Array.newInstance (int.class, 5);

intArray[0] = 2001;

intArray[1] = 12447;

intArray[2] = 6358;

intArray[3] = 902;

intArray[4] = 6654;

Array.setInt(intArray, 1, 1111);

Array.setInt(intArray, 3, 3333);

Array.setInt(intArray, 4, 4444);

System.out.println(Arrays.toString(intArray));

System.out.println(Array.getInt(intArray, 1));

System.out.println(Array.getInt(intArray, 3));

System.out.println(Array.getInt(intArray, 4));

}

}

Выход

[2001, 1111, 6358, 3333, 4444]

1111

3333

4444

Полный курс разработчика Android и Java улучшит вашу карьеру.