public class ArrayType<T> extends OpenType<T>
ArrayType类是开放式类的实例描述所有开放数据值是n维数组的开放数据值。
有效的ArrayType实例实例:
// 2-dimension array of java.lang.String
ArrayType<String[][]> a1 = new ArrayType<String[][]>(2, SimpleType.STRING);
// 1-dimension array of int
ArrayType<int[]> a2 = new ArrayType<int[]>(SimpleType.INTEGER, true);
// 1-dimension array of java.lang.Integer
ArrayType<Integer[]> a3 = new ArrayType<Integer[]>(SimpleType.INTEGER, false);
// 4-dimension array of int
ArrayType<int[][][][]> a4 = new ArrayType<int[][][][]>(3, a2);
// 4-dimension array of java.lang.Integer
ArrayType<Integer[][][][]> a5 = new ArrayType<Integer[][][][]>(3, a3);
// 1-dimension array of java.lang.String
ArrayType<String[]> a6 = new ArrayType<String[]>(SimpleType.STRING, false);
// 1-dimension array of long
ArrayType<long[]> a7 = new ArrayType<long[]>(SimpleType.LONG, true);
// 1-dimension array of java.lang.Integer
ArrayType<Integer[]> a8 = ArrayType.getArrayType(SimpleType.INTEGER);
// 2-dimension array of java.lang.Integer
ArrayType<Integer[][]> a9 = ArrayType.getArrayType(a8);
// 2-dimension array of int
ArrayType<int[][]> a10 = ArrayType.getPrimitiveArrayType(int[][].class);
// 3-dimension array of int
ArrayType<int[][][]> a11 = ArrayType.getArrayType(a10);
// 1-dimension array of float
ArrayType<float[]> a12 = ArrayType.getPrimitiveArrayType(float[].class);
// 2-dimension array of float
ArrayType<float[][]> a13 = ArrayType.getArrayType(a12);
// 1-dimension array of javax.management.ObjectName
ArrayType<ObjectName[]> a14 = ArrayType.getArrayType(SimpleType.OBJECTNAME);
// 2-dimension array of javax.management.ObjectName
ArrayType<ObjectName[][]> a15 = ArrayType.getArrayType(a14);
// 3-dimension array of java.lang.String
ArrayType<String[][][]> a16 = new ArrayType<String[][][]>(3, SimpleType.STRING);
// 1-dimension array of java.lang.String
ArrayType<String[]> a17 = new ArrayType<String[]>(1, SimpleType.STRING);
// 2-dimension array of java.lang.String
ArrayType<String[][]> a18 = new ArrayType<String[][]>(1, a17);
// 3-dimension array of java.lang.String
ArrayType<String[][][]> a19 = new ArrayType<String[][][]>(1, a18);
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST| Constructor and Description |
|---|
ArrayType(int dimension, OpenType<?> elementType)
建立了描述与元素的开放式维
维阵列开放数据值
ArrayType实例
ElementType。
|
ArrayType(SimpleType<?> elementType, boolean primitiveArray)
构建了供应
SimpleType一维
ArrayType实例。
|
| Modifier and Type | Method and Description |
|---|---|
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(类<T> arrayClass)
创建一个类型安全的方式
ArrayType实例。
|
int |
hashCode()
返回此实例的哈希代码值
ArrayType。
|
boolean |
isPrimitiveArray()
返回
true如果开放数据值这个开放式描述原始数组,
false否则。
|
boolean |
isValue(Object obj)
测试是否
obj是这个
ArrayType实例的值。
|
String |
toString()
返回该
ArrayType实例的字符串表示形式。
|
getClassName, getDescription, getTypeName, isArraypublic ArrayType(int dimension,
OpenType<?> elementType)
throws OpenDataException
当调用一个ArrayType实例,getClassName方法返回的数组的实例描述了类的名字(以下由java.lang.Class的getName方法定义的规则),而不是数组元素的类名称(这是由一个叫getElementOpenType().getClassName()返回)。
对应于这ArrayType实例的类型名称的内部字段也设置为数组的实例描述了类的名字。换句话说,这个方法getClassName和getTypeName返回相同的字符串值。对应于这ArrayType实例描述内部字段设置为字符串值以下的模板:
作为一个例子,下面的代码:
ArrayType<String[][][]> t = new ArrayType<String[][][]>(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
和下面的一块相当于一个以上的代码也会产生相同的输出:
ArrayType<String[]> t1 = new ArrayType<String[]>(1, SimpleType.STRING);
ArrayType<String[][]> t2 = new ArrayType<String[][]>(1, t1);
ArrayType<String[][][]> t3 = new ArrayType<String[][][]>(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 -开放式;必须是
SimpleType,
CompositeType实例,
TabularType或另一个
ArrayType与
SimpleType,
CompositeType或
TabularType为
elementType。
IllegalArgumentException -如果
dimension不是正整数。
OpenDataException -如果
定义的类名不允许使用java类名为开放数据。
public ArrayType(SimpleType<?> elementType, boolean primitiveArray) throws OpenDataException
SimpleType一维
ArrayType实例。
此构造函数支持创建基本类型数组时,primitiveArray是true。
原始数组的getElementOpenType()方法返回相应的数组的原始类型的包装类型的SimpleType。
当调用一个ArrayType实例,getClassName方法返回的数组的实例描述了类的名字(以下由java.lang.Class的getName方法定义的规则),而不是数组元素的类名称(这是由一个叫getElementOpenType().getClassName()返回)。
对应于这ArrayType实例的类型名称的内部字段也设置为数组的实例描述了类的名字。换句话说,这个方法getClassName和getTypeName返回相同的字符串值。对应于这ArrayType实例描述内部字段设置为字符串值以下的模板:
作为一个例子,下面的代码:
ArrayType<int[]> t = new ArrayType<int[]>(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
ArrayType实例描述了
elementType -数组元素的值的
SimpleType。
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实例的值。
如果obj不为空,此方法返回true,obj是数组和下列任何一个true:
ArrayType实例描述了SimpleType元素或其相应的原始类型的数组,obj的类的名称是该ArrayType实例定义的类名相同场(由getClassName方法,包括尺寸信息返回即类名),ArrayType实例介绍了课程实施TabularData接口或CompositeData接口的数组,obj转让给这样一个声明数组,每个元素包含在{ obj是null或有效值为元素的开放式规定的ArrayType实例。public boolean equals(Object obj)
obj参数与本
ArrayType实例为平等。
两ArrayType实例相等当且仅当他们描述数组实例具有相同的尺寸,开放式元素和原始数组标记。
equals 方法重写,继承类
OpenType<T>
obj要比较这
ArrayType实例平等的对象;如果
obj是
null或不是一个类的实例
ArrayType此方法返回
false。
true指定对象是否等于这
ArrayType实例。
Object.hashCode(),
HashMap
public int hashCode()
ArrayType。
一个ArrayType实例的哈希代码是用于equals比较信息元素的散列码的总和(即维度、要素开放型和原始数组标记)。对一个原始值hashCode是相应的hashCode装箱的对象(例如hashCode为true是Boolean.TRUE.hashCode())。这确保 t1.equals(t2) 意味着 t1.hashCode()==t2.hashCode() 任何两ArrayType实例t1和t2,的方法Object.hashCode()一般合同要求。
作为ArrayType实例是不可变的,此实例的哈希代码是计算一次,在hashCode第一次调用,然后返回相同的值的后续调用。
hashCode 方法重写,继承类
OpenType<T>
ArrayType实例的哈希代码值
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public String toString()
ArrayType实例的字符串表示形式。
字符串表示的类的名字(即javax.management.openmbean.ArrayType)、类型名称、尺寸、元素的开放型和原始数组标记定义此实例。
作为ArrayType实例是不可变的,此实例的字符串表示形式是计算一次,在toString第一次调用,然后返回相同的值的后续调用。
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType) throws OpenDataException
ArrayType实例。
多维数组可以通过调用此方法来建立必要的时间。
调用此方法两次使用相同的参数可以返回相同的对象或两个相等的,但不相同的对象。
作为一个例子,下面的代码:
ArrayType<String[]> t1 = ArrayType.getArrayType(SimpleType.STRING);
ArrayType<String[][]> t2 = ArrayType.getArrayType(t1);
ArrayType<String[][][]> 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 -开放式;必须是
SimpleType,
CompositeType实例,
TabularType或另一个
ArrayType与
SimpleType,
CompositeType或
TabularType为
elementType。
OpenDataException -如果
定义的类名不允许使用java类名为开放数据。
public static <T> ArrayType<T> getPrimitiveArrayType(类<T> arrayClass)
ArrayType实例。
调用此方法两次使用相同的参数可以返回相同的对象或两个相等的,但不相同的对象。
作为一个例子,下面的代码:
ArrayType<int[][][]> 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 -原始数组类如
int[].class,
boolean[][].class,等返回的
ArrayType的
getElementOpenType()方法返回相应的数组的原始类型的包装类型的
SimpleType。
IllegalArgumentException -如果
arrayclass不是原始数组。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.