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| コンストラクタと説明 | 
|---|
| ArrayType(int dimension, OpenType<?> elementType)dimension次元の要素(公開型がelementTypeの要素)の配列である公開データを記述するArrayTypeインスタンスを構築します。 | 
| ArrayType(SimpleType<?> elementType, boolean primitiveArray)指定された SimpleTypeの1次元ArrayTypeインスタンスを構築します。 | 
| 修飾子と型 | メソッドと説明 | 
|---|---|
| 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インスタンスの値であるかどうかをテストします。 | 
| String | toString()この ArrayTypeインスタンスの文字列表現を返します。 | 
getClassName, getDescription, getTypeName, isArraypublic ArrayType(int dimension,
                 OpenType<?> elementType)
          throws OpenDataException
 ArrayTypeインスタンス上でgetClassNameメソッドを呼び出すと、getElementOpenType().getClassName()の呼出しによって返される配列要素のクラス名ではなく、java.lang.ClassのgetNameメソッドに従って、記述する配列インスタンスのクラス名が返されます。
 
 この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 - このArrayTypeインスタンスによって記述される配列に含まれる要素値の公開型。SimpleType、CompositeType、TabularTypeのいずれかのインスタンス、またはSimpleType、CompositeType、TabularTypeのいずれかをelementTypeとして持つ別のArrayTypeのインスタンス。IllegalArgumentException - dimensionが正の整数ではない場合。OpenDataException - elementType's classNameが公開データに許可されたJavaクラス名でない場合。public ArrayType(SimpleType<?> elementType, boolean primitiveArray) throws OpenDataException
SimpleTypeの1次元ArrayTypeインスタンスを構築します。
 
 このコンストラクタは、primitiveArrayがtrueである場合に、プリミティブ型の配列の作成をサポートします。
 
 プリミティブ配列では、getElementOpenType()メソッドは、プリミティブ型の配列のラッパー型に対応するSimpleTypeを返します。
 
 ArrayTypeインスタンス上でgetClassNameメソッドを呼び出すと、getElementOpenType().getClassName()の呼出しによって返される配列要素のクラス名ではなく、java.lang.ClassのgetNameメソッドに従って、記述する配列インスタンスのクラス名が返されます。
 
 この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
 elementType - このArrayTypeインスタンスによって記述される配列内に含まれる要素値の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がnullでない場合に限りtrueを返します。objは、次のいずれかがtrueの場合に配列になります。
 
ArrayTypeインスタンスがSimpleType要素または対応するプリミティブ型の配列を記述する場合、objのクラス名はこのArrayTypeインスタンスに定義されたclassNameフィールドと同じ(getClassNameメソッドによって返される、次元情報を含むクラス名)になります。ArrayTypeインスタンスがTabularDataインタフェースまたはCompositeDataインタフェースを実装するクラスの配列を記述する場合、objは宣言された配列に割り当てることができます。objに含まれる各要素は、nullか、このArrayTypeインスタンスによって指定された要素の公開型に対して有効な値になります。public boolean equals(Object obj)
objパラメータとこのArrayTypeインスタンスが等しいかどうかを比較します。
 
 2つのArrayTypeインスタンスは、同じ次元、要素の公開型、およびプリミティブ配列フラグを持つ配列インスタンスを記述する場合に限り等しいと言えます。
equals、クラス: OpenType<T>obj - このArrayTypeインスタンスと等しいかどうかを比較するオブジェクト。objがnullの場合、またはArrayTypeクラスのインスタンスではない場合、このメソッドはfalseを返す。ArrayTypeインスタンスと等しい場合はtrue。Object.hashCode()、HashMappublic int hashCode()
ArrayTypeインスタンスのハッシュ・コード値を返します。
 
 ArrayTypeインスタンスのハッシュ・コードは、equals比較で使用されるすべての情報要素(次元、要素の公開型、およびプリミティブ配列フラグ)のハッシュ・コードの合計になります。プリミティブ値のハッシュ・コードは、対応するboxed型のオブジェクトのハッシュ・コードです(trueのハッシュ・コードはBoolean.TRUE.hashCode()など)。これにより、Object.hashCode()メソッドの一般規約によって要求される、任意の2つのArrayTypeインスタンスt1とt2で、 t1.equals(t2) であれば t1.hashCode()==t2.hashCode() となることが保証されます。
 
 ArrayTypeインスタンスは不変で、このインスタンスのハッシュ・コードは、hashCodeの最初の呼出し時に1回だけ計算されます。その後の呼出しには、同じ値が返されます。
hashCode、クラス: OpenType<T>ArrayTypeインスタンスのハッシュ・コード値Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
ArrayTypeインスタンスの文字列表現を返します。
 
 この文字列表現は、このクラスの名前(javax.management.openmbean.ArrayType)、型名、次元、このインスタンスに定義された要素の公開型およびプリミティブ配列フラグで構成されます。
 
 ArrayTypeインスタンスは不変で、このインスタンスの文字列表現は、toStringの最初の呼出し時に1回だけ計算されます。その後の呼出しには、同じ値が返されます。
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType) throws OpenDataException
ArrayTypeのインスタンスを、型保証された方法で作成します。
 多次元配列は、このメソッドを必要な回数呼び出すことで構築できます。
同じパラメータを指定してこのメソッドを2回呼び出した場合、同じオブジェクトが返されるか、2つの同等の(同一ではない)オブジェクトが返される可能性があります。
例として、次のコードの抜粋を参照してください。
 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 - このArrayTypeインスタンスによって記述される配列に含まれる要素値の公開型。SimpleType、CompositeType、TabularTypeのいずれかのインスタンス、またはSimpleType、CompositeType、TabularTypeのいずれかをelementTypeとして持つ別のArrayTypeのインスタンス。OpenDataException - elementType's classNameが公開データに許可されたJavaクラス名でない場合。public static <T> ArrayType<T> getPrimitiveArrayType(Class<T> arrayClass)
ArrayTypeのインスタンスを、型保証された方法で作成します。
 同じパラメータを指定してこのメソッドを2回呼び出した場合、同じオブジェクトが返されるか、2つの同等の(同一ではない)オブジェクトが返される可能性があります。
例として、次のコードの抜粋を参照してください。
 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がプリミティブ配列ではない場合。 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.