- Class Array
- Method Summary
- Methods declared in class java.lang.Object
- Method Details
- newInstance
- newInstance
- getLength
- get
- getBoolean
- getByte
- getChar
- getShort
- getInt
- getLong
- getFloat
- getDouble
- set
- setBoolean
- setByte
- setChar
- setShort
- setInt
- setLong
- setFloat
- setDouble
- Java create array in class
- Learn Latest Tutorials
- Preparation
- Trending Technologies
- B.Tech / MCA
- Javatpoint Services
- Training For College Campus
- Создание универсального массива в Java
- Использование массивов объектов для создания универсальных массивов в Java
- Используйте класс отражения для создания универсальных массивов в Java
- Сопутствующая статья — Java Array
Class Array
Array permits widening conversions to occur during a get or set operation, but throws an IllegalArgumentException if a narrowing conversion would occur.
Method Summary
Sets the value of the indexed component of the specified array object to the specified boolean value.
Methods declared in class java.lang.Object
Method Details
newInstance
Creates a new array with the specified component type and length. Invoking this method is equivalent to creating an array as follows:
int[] x = ; Array.newInstance(componentType, x);
newInstance
Creates a new array with the specified component type and dimensions. If componentType represents a non-array class or interface, the new array has dimensions.length dimensions and componentType as its component type. If componentType represents an array class, the number of dimensions of the new array is equal to the sum of dimensions.length and the number of dimensions of componentType . In this case, the component type of the new array is the component type of componentType . The number of dimensions of the new array must not exceed 255.
getLength
get
Returns the value of the indexed component in the specified array object. The value is automatically wrapped in an object if it has a primitive type.
getBoolean
getByte
getChar
getShort
getInt
getLong
getFloat
getDouble
set
Sets the value of the indexed component of the specified array object to the specified new value. The new value is first automatically unwrapped if the array has a primitive component type.
setBoolean
public static void setBoolean (Object array, int index, boolean z) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
Sets the value of the indexed component of the specified array object to the specified boolean value.
setByte
setChar
setShort
setInt
setLong
setFloat
setDouble
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2023, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.
Java create array in class
Learn Latest Tutorials
Preparation
Trending Technologies
B.Tech / MCA
Javatpoint Services
JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.
- Website Designing
- Website Development
- Java Development
- PHP Development
- WordPress
- Graphic Designing
- Logo
- Digital Marketing
- On Page and Off Page SEO
- PPC
- Content Development
- Corporate Training
- Classroom and Online Training
- Data Entry
Training For College Campus
JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week
Like/Subscribe us for latest updates or newsletter
Создание универсального массива в Java
- Использование массивов объектов для создания универсальных массивов в Java
- Используйте класс отражения для создания универсальных массивов в Java
Массив можно определить как набор элементов, хранящихся в непрерывных ячейках памяти. Универсальный массив не зависит от какого-либо типа данных и чей тип информации оценивается во время выполнения.
Однако Java не допускает, чтобы массив был универсальным, потому что в Java массивы содержат информацию, связанную с их компонентами, и эта информация во время выполнения используется для выделения памяти.
Мы можем моделировать общие структуры, похожие на массивы, используя массив объектов и функцию класса отражения в Java. Мы обсудим эти методы ниже.
Использование массивов объектов для создания универсальных массивов в Java
В этом подходе используется массив объектов типа в качестве члена. Мы используем функции get() и set() для чтения и установки элементов массива.
Следующая программа демонстрирует использование массива объектов для создания универсального массива.
import java.util.Arrays; class Generic_ArrayE> private final Object[] obj_array; //object array public final int length; // class constructor public Generic_Array(int len) //new object array obj_array = new Object [len]; this.len = len; > // get new object array(obj_array[i]) E get(int j) @SuppressWarnings("unchecked") final E e = (E)object_array[j]; return e; > // set e at new object array(obj_array[i]) void set(int j, E e) object_array[j] = e; > @Override public String toString() return Arrays.toString(object_array); > > class Main public static void main(String[] args) final int len = 5; // creating an integer array Generic_ArrayInteger>int_Array = new Generic_Array(len); System.out.print("Generic Array :" + " "); for (int i = 2; i len; i++) int_Array.set(i, i * 2); System.out.println(int_Array); // creating a string array Generic_ArrayString>str_Array = new Generic_Array(len); System.out.print("Generic Array :" + " "); for (int i = 0; i len; i++) str_Array.set(i, String.valueOf((char)(i + 97))); System.out.println(str_Array); > >
Generic Array : [2, 4, 6, 8, 10] Generic Array : [a, b, c, d, e]
Используйте класс отражения для создания универсальных массивов в Java
В этом типе подхода класс отражения используется для создания универсального массива, тип которого будет известен только во время выполнения.
Единственное различие между предыдущим подходом и этим подходом состоит в том, что класс отражения используется как сам конструктор. После этого класс отражения инициирует массив объектов, явно передавая данные классу конструктора.
Следующая программа демонстрирует использование отражения для создания универсального массива.
import java.util.Arrays; class Generic_ArrayE> private final E[] objArray; public final int length; //constructor class public Generic_Array(ClassE>dataType, int length) // creatting a new array with the specified data type and length at runtime using reflection method. this.objArray = (E[]) java.lang.reflect.Array.newInstance(dataType, len); this.len = len; > // get element at obj_Array[i] E get(int i) return obj_Array[i]; > // assign e to obj_Array[i] void set(int i, E e) obj_Array[i] = e; > @Override public String toString() return Arrays.toString(obj_Array); > > class Main public static void main(String[] args) final int len = 5; // create array with Integer as data type Generic_ArrayInteger>int_Array = new Generic_Array(Integer.class, len); System.out.print("Generic Array:" + " "); for (int i = 2; i len; i++) int_Array.set(i, i + 10); System.out.println(int_Array); // create an array with String as data type Generic_ArrayString>str_Array = new Generic_Array(String.class, len); System.out.print("Generic Array:" + " "); for (int i = 0; i len; i++) str_Array.set(i, String.valueOf((char)(i + 65))); System.out.println(str_Array); > >
Generic Array: [12, 13, 14, 15, 16] Generic Array: [A, B, C, D, E]
Универсальный массив не может обеспечить безопасность типа, если не реализована проверка типа или явный механизм, поскольку универсальные классы неизвестны для того типа аргумента, который они создали во время выполнения.
Если мы хотим получить точный массив без какой-либо безопасности, о которой говорилось выше, с использованием дженериков, это можно сделать, как показано ниже.
import java.lang.reflect.Array; public class Gen_SetE> private E[] x; public Gen_Set(ClassE[]> cla, int len) x = cla.cast(Array.newInstance(cla.getComponentType(), len)); > public static void main(String[] args) Gen_SetString> foo = new Gen_SetString>(String[].class, 1); String[] bar = foo.x; foo.x[0] = "xyzzy"; String baz = foo.a[0]; > >
Этот код не будет выдавать предупреждений во время компиляции, и мы видим, что в основном классе тип объявленного экземпляра Gen_Set может быть назначен одинаково для x массива этого типа, что означает как массив, так и значения массива являются неверными типами.
Сопутствующая статья — Java Array
Copyright © 2023. All right reserved