Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ArrayType<T> extends OpenType<T>
ArrayType
class является открытым типом class, экземпляры которого описывают все открытые значения данных, которые являются N-мерными массивами открытых значений данных. Примеры допустимых ArrayType
экземпляры:
// 2-dimension array of java.lang.String ArrayTypea1 = new ArrayType (2, SimpleType.STRING); // 1-dimension array of int ArrayType a2 = new ArrayType (SimpleType.INTEGER, true); // 1-dimension array of java.lang.Integer ArrayType a3 = new ArrayType (SimpleType.INTEGER, false); // 4-dimension array of int ArrayType a4 = new ArrayType (3, a2); // 4-dimension array of java.lang.Integer ArrayType a5 = new ArrayType (3, a3); // 1-dimension array of java.lang.String ArrayType a6 = new ArrayType (SimpleType.STRING, false); // 1-dimension array of long ArrayType a7 = new ArrayType (SimpleType.LONG, true); // 1-dimension array of java.lang.Integer ArrayType a8 = ArrayType.getArrayType(SimpleType.INTEGER); // 2-dimension array of java.lang.Integer ArrayType a9 = ArrayType.getArrayType(a8); // 2-dimension array of int ArrayType a10 = ArrayType.getPrimitiveArrayType(int[][].class); // 3-dimension array of int ArrayType a11 = ArrayType.getArrayType(a10); // 1-dimension array of float ArrayType a12 = ArrayType.getPrimitiveArrayType(float[].class); // 2-dimension array of float ArrayType a13 = ArrayType.getArrayType(a12); // 1-dimension array of javax.management.ObjectName ArrayType a14 = ArrayType.getArrayType(SimpleType.OBJECTNAME); // 2-dimension array of javax.management.ObjectName ArrayType a15 = ArrayType.getArrayType(a14); // 3-dimension array of java.lang.String ArrayType a16 = new ArrayType (3, SimpleType.STRING); // 1-dimension array of java.lang.String ArrayType a17 = new ArrayType (1, SimpleType.STRING); // 2-dimension array of java.lang.String ArrayType a18 = new ArrayType (1, a17); // 3-dimension array of java.lang.String ArrayType a19 = new ArrayType (1, a18);
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
Конструктор и Описание |
---|
ArrayType(int dimension, OpenType<?> elementType)
Создает экземпляр ArrayType, описывающий открытые значения данных, которые являются массивами с размерностью dimension элементов, открытым типом которых является elementType.
|
ArrayType(SimpleType<?> elementType, boolean primitiveArray)
Создает одномерное
ArrayType экземпляр для предоставленного SimpleType . |
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Сравнивает указанное
obj параметр с этим ArrayType экземпляр для равенства. |
static <E> ArrayType<E[]> |
getArrayType(OpenType<E> elementType)
Создайте
ArrayType экземпляр безопасным с точки зрения типов способом. |
int |
getDimension()
Возвращает размерность массивов, описанных этим экземпляром ArrayType.
|
OpenType<?> |
getElementOpenType()
Возвращает открытый тип значений элемента, содержавшихся в массивах, описанных этим экземпляром ArrayType.
|
static <T> ArrayType<T> |
getPrimitiveArrayType(Class<T> arrayClass)
Создайте
ArrayType экземпляр безопасным с точки зрения типов способом. |
int |
hashCode()
Возвращает значение хэш-кода для этого
ArrayType экземпляр. |
boolean |
isPrimitiveArray()
Возвраты
true если открытые значения данных, которые описывает этот открытый тип, являются примитивными массивами, false иначе. |
boolean |
isValue(Object obj)
Тесты, является ли obj значением для этого
ArrayType экземпляр. |
Строка |
toString()
Возвращает строковое представление этого
ArrayType экземпляр. |
getClassName, getDescription, getTypeName, isArray
public ArrayType(int dimension, OpenType<?> elementType) throws OpenDataException
Когда вызвано на экземпляр ArrayType, getClassName
метод возвращает имя class экземпляров массива, которые это описывает (после правил, определенных getName
метод java.lang.Class
), не имя class элементов массива (который возвращается звонком в getElementOpenType().getClassName()).
Внутреннее поле, соответствующее имени типа этого ArrayType
экземпляр также устанавливается в имя class экземпляров массива, которые это описывает. Другими словами, методы getClassName
и getTypeName
возвратите то же самое строковое значение. Внутреннее поле, соответствующее описанию этого ArrayType
экземпляр устанавливается в строковое значение, которое следует за следующим шаблоном:
Как пример, следующая часть кода:
ArrayTypeпроизвел бы следующий вывод:t = new ArrayType (3, SimpleType.STRING); System.out.println("array class name = " + t.getClassName()); System.out.println("element class name = " + t.getElementOpenType().getClassName()); System.out.println("array type name = " + t.getTypeName()); System.out.println("array type description = " + t.getDescription());
array class name = [[[Ljava.lang.String; element class name = java.lang.String array type name = [[[Ljava.lang.String; array type description = 3-dimension array of java.lang.StringИ следующая часть кода, который эквивалентен упомянутому выше тому, также произвела бы тот же самый вывод:
ArrayTypet1 = new ArrayType (1, SimpleType.STRING); ArrayType t2 = new ArrayType (1, t1); ArrayType t3 = new ArrayType (1, t2); System.out.println("array class name = " + t3.getClassName()); System.out.println("element class name = " + t3.getElementOpenType().getClassName()); System.out.println("array type name = " + t3.getTypeName()); System.out.println("array type description = " + t3.getDescription());
dimension
- размерность массивов описывается этим экземпляром ArrayType; должно быть больше чем или равным 1.elementType
- открытый тип значений элемента, содержавшихся в массивах, описывается этим экземпляром ArrayType; должен быть экземпляр или SimpleType, CompositeType, TabularType или другого ArrayType с SimpleType, CompositeType или TabularType как его elementType.IllegalArgumentException
- если dimension
не положительное целое число.OpenDataException
- если elementType's className не является одним из позволенного Java имена class для открытых данных.public ArrayType(SimpleType<?> elementType, boolean primitiveArray) throws OpenDataException
ArrayType
экземпляр для предоставленного SimpleType
. Этот конструктор поддерживает создание массивов типов примитивов когда primitiveArray
true
.
Для примитивных массивов getElementOpenType()
метод возвращается SimpleType
соответствие типу обертки типа примитива массива.
Когда вызвано на экземпляр ArrayType, getClassName
метод возвращает имя class экземпляров массива, которые это описывает (после правил, определенных getName
метод java.lang.Class
), не имя class элементов массива (который возвращается звонком в getElementOpenType().getClassName()).
Внутреннее поле, соответствующее имени типа этого ArrayType
экземпляр также устанавливается в имя class экземпляров массива, которые это описывает. Другими словами, методы getClassName
и getTypeName
возвратите то же самое строковое значение. Внутреннее поле, соответствующее описанию этого ArrayType
экземпляр устанавливается в строковое значение, которое следует за следующим шаблоном:
Как пример, следующая часть кода:
ArrayTypeпроизвел бы следующий вывод:t = new ArrayType (SimpleType.INTEGER, true); System.out.println("array class name = " + t.getClassName()); System.out.println("element class name = " + t.getElementOpenType().getClassName()); System.out.println("array type name = " + t.getTypeName()); System.out.println("array type description = " + t.getDescription());
array class name = [I element class name = java.lang.Integer array type name = [I array type description = 1-dimension array of int
elementType
- SimpleType
из значений элемента, содержавшихся в массивах, описывается этим ArrayType
экземпляр.primitiveArray
- true
когда этот массив описывает примитивные массивы.IllegalArgumentException
- если dimension
не положительное целое число.OpenDataException
- если primitiveArray
true
и elementType
не допустимое SimpleType
для типа примитива.public int getDimension()
public OpenType<?> getElementOpenType()
public boolean isPrimitiveArray()
true
если открытые значения данных, которые описывает этот открытый тип, являются примитивными массивами, false
иначе.public boolean isValue(Object obj)
ArrayType
экземпляр. Этот метод возвраты true
если и только если obj не является нулем, obj является массивом, и любым из следующего является true:
ArrayType
экземпляр описывает массив элементов SimpleType или их соответствующих типов примитивов, имя class obj является тем же самым как полем имени класса, определенным для этого ArrayType
экземпляр (то есть имя class, возвращенное getClassName
метод, который включает информацию о размерности),ArrayType
экземпляр описывает массив классов, реализовывая TabularData
взаимодействуйте через интерфейс или CompositeData
интерфейс, obj присваиваем такому объявленному массиву, и каждый элемент, содержавшийся в obj, является или нулем или допустимым значением для открытого типа элемента, определенного этим ArrayType
экземпляр.public boolean equals(Object obj)
obj
параметр с этим ArrayType
экземпляр для равенства. Два ArrayType
экземпляры равны, если и только если они описывают экземпляры массива, у которых есть та же самая размерность, открытый тип элементов и примитивный флаг массива.
equals
в class OpenType<T>
obj
- объект, который будет сравнен для равенства с этим ArrayType
экземпляр; если obj null
или не экземпляр class ArrayType
этот метод возвраты false
.true
если указанный объект равен этому ArrayType
экземпляр.Object.hashCode()
, HashMap
public int hashCode()
ArrayType
экземпляр. Хэш-код ArrayType
экземпляр является суммой хэш-кодов всех элементов информации, используемой в equals
сравнения (то есть размерность, открытый тип элементов и примитивный флаг массива). Хэш-код для примитивного значения является хэш-кодом соответствующего упакованного объекта (например, хэш-кодом для true является Boolean.TRUE.hashCode()). Это гарантирует это t1.equals(t2)
подразумевает это t1.hashCode()==t2.hashCode()
для любых двух ArrayType
экземпляры t1
и t2
, как требуется согласно общему контракту метода Object.hashCode()
.
Как ArrayType
экземпляры являются неизменными, хэш-код для этого экземпляра вычисляется однажды на первом звонке hashCode
, и затем то же самое значение возвращается для последующих вызовов.
hashCode
в class OpenType<T>
ArrayType
экземплярObject.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
ArrayType
экземпляр. Строковое представление состоит из имени этого class (то есть. javax.management.openmbean.ArrayType
), имя типа, размерность, открытый тип элементов и примитивный флаг массива определяются для этого экземпляра.
Как ArrayType
экземпляры являются неизменными, строковое представление для этого экземпляра вычисляется однажды на первом звонке toString
, и затем то же самое значение возвращается для последующих вызовов.
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType) throws OpenDataException
ArrayType
экземпляр безопасным с точки зрения типов способом. Многомерные массивы могут быть созданы, вызывая этот метод как много раз по мере необходимости.
Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
Как пример, следующая часть кода:
ArrayTypeпроизвел бы следующий вывод:t1 = ArrayType.getArrayType(SimpleType.STRING); ArrayType t2 = ArrayType.getArrayType(t1); ArrayType t3 = ArrayType.getArrayType(t2); System.out.println("array class name = " + t3.getClassName()); System.out.println("element class name = " + t3.getElementOpenType().getClassName()); System.out.println("array type name = " + t3.getTypeName()); System.out.println("array type description = " + t3.getDescription());
array class name = [[[Ljava.lang.String; element class name = java.lang.String array type name = [[[Ljava.lang.String; array type description = 3-dimension array of java.lang.String
elementType
- открытый тип значений элемента, содержавшихся в массивах, описывается этим экземпляром ArrayType; должен быть экземпляр или SimpleType, CompositeType, TabularType или другого ArrayType с SimpleType, CompositeType или TabularType как его elementType.OpenDataException
- если elementType's className не является одним из позволенного Java имена class для открытых данных.public static <T> ArrayType<T> getPrimitiveArrayType(Class<T> arrayClass)
ArrayType
экземпляр безопасным с точки зрения типов способом. Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
Как пример, следующая часть кода:
ArrayTypeпроизвел бы следующий вывод:t = ArrayType.getPrimitiveArrayType(int[][][].class); System.out.println("array class name = " + t.getClassName()); System.out.println("element class name = " + t.getElementOpenType().getClassName()); System.out.println("array type name = " + t.getTypeName()); System.out.println("array type description = " + t.getDescription());
array class name = [[[I element class name = java.lang.Integer array type name = [[[I array type description = 3-dimension array of int
arrayClass
- примитивный массив class такой как int[].class
, boolean[][].class
, и т.д.. getElementOpenType()
метод возвращенного ArrayType
возвраты SimpleType
соответствие типу обертки типа примитива массива.IllegalArgumentException
- если arrayClass не является примитивным массивом.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92