- すべての実装されたインタフェース:
Serializable
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);
- 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
-
フィールドのサマリー
クラス javax.management.openmbean.OpenTypeで宣言されたフィールド
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ArrayType(int dimension, OpenType<?> elementType)dimension次元の要素(公開型がelementTypeの要素)の配列である公開データを記述するArrayTypeインスタンスを構築します。ArrayType(SimpleType<?> elementType, boolean primitiveArray)指定されたSimpleTypeの1次元ArrayTypeインスタンスを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 booleanequals(Object obj)指定されたobjパラメータとこのArrayTypeインスタンスが等しいかどうかを比較します。static <E> ArrayType<E[]>getArrayType(OpenType<E> elementType)ArrayTypeのインスタンスを、型保証された方法で作成します。intgetDimension()このArrayTypeインスタンスによって記述される配列の次元を返します。OpenType<?>getElementOpenType()このArrayTypeインスタンスによって記述された配列内に含まれる要素値の公開型を返します。static <T> ArrayType<T>getPrimitiveArrayType(Class<T> arrayClass)ArrayTypeのインスタンスを、型保証された方法で作成します。inthashCode()このArrayTypeインスタンスのハッシュ・コード値を返します。booleanisPrimitiveArray()この公開型が記述する公開データ値がプリミティブ配列の場合はtrueを返し、そうでない場合はfalseを返します。booleanisValue(Object obj)objが、このArrayTypeインスタンスの値であるかどうかをテストします。StringtoString()このArrayTypeインスタンスの文字列表現を返します。クラス javax.management.openmbean.OpenTypeで宣言されたメソッド
getClassName, getDescription, getTypeName, isArray
-
コンストラクタの詳細
-
ArrayType
public ArrayType(int dimension, OpenType<?> elementType) throws OpenDataExceptiondimension次元の要素(公開型がelementTypeの要素)の配列である公開データを記述するArrayTypeインスタンスを構築します。ArrayTypeインスタンス上でgetClassNameメソッドを呼び出すと、getElementOpenType().getClassName()の呼出しによって返される配列要素のクラス名ではなく、java.lang.ClassのgetNameメソッドに従って、記述する配列インスタンスのクラス名が返されます。この
ArrayTypeインスタンスの型名に対応する内部フィールドも、記述する配列インスタンスのクラス名に設定されます。 つまり、getClassNameメソッドとgetTypeNameメソッドは同じ文字列値を返します。 このArrayTypeインスタンスの記述に対応する内部フィールドは、次のテンプレートに従う文字列値に設定されます。- プリミティブ配列でない場合:
<dimension>-dimension array of <element_class_name> - プリミティブ配列の場合:
<dimension>-dimension array of <primitive_type_of_the_element_class_name>
例として、次のコードの抜粋を参照してください。
次の内容が出力されます。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.StringArrayType<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クラス名でない場合。
- プリミティブ配列でない場合:
-
ArrayType
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インスタンスの記述に対応する内部フィールドは、次のテンプレートに従う文字列値に設定されます。- プリミティブ配列でない場合:
1-dimension array of <element_class_name> - プリミティブ配列の場合:
1-dimension array of <primitive_type_of_the_element_class_name>
例として、次のコードの抜粋を参照してください。
次の内容が出力されます。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ではない場合。- 導入されたバージョン:
- 1.6
- プリミティブ配列でない場合:
-
-
メソッドの詳細
-
getDimension
public int getDimension()このArrayTypeインスタンスによって記述される配列の次元を返します。- 戻り値:
- 次元
-
getElementOpenType
public OpenType<?> getElementOpenType()このArrayTypeインスタンスによって記述された配列内に含まれる要素値の公開型を返します。- 戻り値:
- 要素の型
-
isPrimitiveArray
public boolean isPrimitiveArray()この公開型が記述する公開データ値がプリミティブ配列の場合はtrueを返し、そうでない場合はfalseを返します。- 戻り値:
- これがプリミティブ配列型である場合はtrue。
- 導入されたバージョン:
- 1.6
-
isValue
public boolean isValue(Object obj)objが、このArrayTypeインスタンスの値であるかどうかをテストします。このメソッドは、objがnullでない場合に限り
trueを返します。objは、次のいずれかがtrueの場合に配列になります。- この
ArrayTypeインスタンスがSimpleType要素または対応するプリミティブ型の配列を記述する場合、objのクラス名はこのArrayTypeインスタンスに定義されたclassNameフィールドと同じ(getClassNameメソッドによって返される、次元情報を含むクラス名)になります。
- この
ArrayTypeインスタンスがTabularDataインタフェースまたはCompositeDataインタフェースを実装するクラスの配列を記述する場合、objは宣言された配列に割り当てることができます。objに含まれる各要素は、nullか、このArrayTypeインスタンスによって指定された要素の公開型に対して有効な値になります。
- この
-
equals
public boolean equals(Object obj)指定されたobjパラメータとこのArrayTypeインスタンスが等しいかどうかを比較します。2つの
ArrayTypeインスタンスは、同じ次元、要素の公開型、およびプリミティブ配列フラグを持つ配列インスタンスを記述する場合に限り等しいと言えます。- 定義:
equals、クラス:OpenType<T>- パラメータ:
obj- このArrayTypeインスタンスと等しいかどうかを比較するオブジェクト。objがnullの場合、またはArrayTypeクラスのインスタンスではない場合、このメソッドはfalseを返す。- 戻り値:
- 指定されたオブジェクトがこの
ArrayTypeインスタンスと等しい場合はtrue。 - 関連項目:
Object.hashCode()、HashMap
-
hashCode
public 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、クラス:Object- 戻り値:
- この
ArrayTypeインスタンスのハッシュ・コード値 - 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()このArrayTypeインスタンスの文字列表現を返します。この文字列表現は、このクラスの名前(
javax.management.openmbean.ArrayType)、型名、次元、このインスタンスに定義された要素の公開型およびプリミティブ配列フラグで構成されます。ArrayTypeインスタンスは不変で、このインスタンスの文字列表現は、toStringの最初の呼出し時に1回だけ計算されます。その後の呼出しには、同じ値が返されます。 -
getArrayType
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType) throws OpenDataExceptionArrayTypeのインスタンスを、型保証された方法で作成します。多次元配列は、このメソッドを必要な回数呼び出すことで構築できます。
同じパラメータを指定してこのメソッドを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- 型パラメータ:
E- インスタンスを記述するJava型は、- パラメータ:
elementType- このArrayTypeインスタンスによって記述される配列に含まれる要素値の公開型。SimpleType、CompositeType、TabularTypeのいずれかのインスタンス、またはSimpleType、CompositeType、TabularTypeのいずれかをelementTypeとして持つ別のArrayTypeのインスタンス。- 戻り値:
ArrayTypeインスタンス- 例外:
OpenDataException- elementType's classNameが公開データに許可されたJavaクラス名でない場合。- 導入されたバージョン:
- 1.6
-
getPrimitiveArrayType
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- 型パラメータ:
T- インスタンスを記述するJava型は、- パラメータ:
arrayClass-int[].class、boolean[][].classなどのプリミティブ配列クラス。返されるArrayTypeのgetElementOpenType()メソッドは、プリミティブ型の配列のラッパー型に対応するSimpleTypeを返す。- 戻り値:
ArrayTypeインスタンス- 例外:
IllegalArgumentException-arrayClassがプリミティブ配列ではない場合。- 導入されたバージョン:
- 1.6
-