|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.management.openmbean.OpenType<T>
javax.management.openmbean.ArrayType<T>
public class ArrayType<T>
ArrayType クラスは、「公開データ」値の 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);
| フィールドの概要 |
|---|
| クラス 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 インスタンスを構築します。 |
|
| メソッドの概要 | ||
|---|---|---|
boolean |
equals(Object obj)
指定された obj パラメータとこの ArrayType インスタンスが等しいかどうかを比較します。 |
|
static
|
getArrayType(OpenType<E> elementType)
ArrayType インスタンスを、型保証された方法で作成します。 |
|
int |
getDimension()
この ArrayType インスタンスによって記述される配列の次元を返します。 |
|
OpenType<?> |
getElementOpenType()
この ArrayType インスタンスによって記述された配列内に含まれる要素値の「公開型」を返します。 |
|
static
|
getPrimitiveArrayType(Class<T> arrayClass)
ArrayType インスタンスを、型保証された方法で作成します。 |
|
int |
hashCode()
この ArrayType インスタンスのハッシュコード値を返します。 |
|
boolean |
isPrimitiveArray()
この公開型が記述する公開データ値がプリミティブ配列の場合は true、そうでない場合はfalse を返します。 |
|
boolean |
isValue(Object obj)
obj が、この ArrayType インスタンスの値であるかどうかをテストします。 |
|
String |
toString()
この ArrayType インスタンスの文字列表現を返します。 |
|
| クラス javax.management.openmbean.OpenType から継承されたメソッド |
|---|
getClassName, getDescription, getTypeName, isArray |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public ArrayType(int dimension,
OpenType<?> elementType)
throws OpenDataException
ArrayType インスタンス上で getClassName メソッドを呼び出すと、getElementOpenType().getClassName() の呼び出しによって返される配列要素のクラス名ではなく、java.lang.Class の getName メソッドに従って、記述する配列インスタンスのクラス名が返されます。
この ArrayType インスタンスの型名に対応する内部フィールドも、記述する配列インスタンスのクラス名に設定されます。つまり、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 のいずれかのインスタンス、または 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次の内容が出力されます。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 - この ArrayType インスタンスによって 記述される配列内に含まれる 要素値の SimpleTypeprimitiveArray - この配列がプリミティブ配列を記述する場合は 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 は、次のいずれかの条件が満たされている場合、配列になります。
ArrayType インスタンスが SimpleType 要素または対応するプリミティブ型の配列を記述する場合、obj のクラス名はこの ArrayType インスタンスに定義された className フィールドと同じ (getClassName メソッドによって返される、次元情報を含むクラス名) になります。ArrayType インスタンスが TabularData インタフェースまたは CompositeData インタフェースを実装するクラスの配列を記述する場合、obj は宣言された配列に割り当てることができます。obj に含まれる各要素は、null か、この ArrayType インスタンスによって指定された要素の公開型に対して有効な値になります。
OpenType<T> 内の isValueobj - 判定されるオブジェクト
ArrayType インスタンスの値である場合は truepublic boolean equals(Object obj)
obj パラメータとこの ArrayType インスタンスが等しいかどうかを比較します。
2 つの ArrayType インスタンスは、同じ次元、要素の公開型、およびプリミティブ配列フラグを持つ配列インスタンスを記述する場合に限り等しいと言えます。
OpenType<T> 内の equalsobj - この ArrayType インスタンスと等しいかどうかを比較するオブジェクト。obj が null の場合、または ArrayType クラスのインスタンスではない場合、このメソッドは false を返す
ArrayType インスタンスと同じ場合は trueObject.hashCode(),
Hashtablepublic int hashCode()
ArrayType インスタンスのハッシュコード値を返します。
ArrayType インスタンスのハッシュコードは、equals 比較で使用されるすべての情報要素 (次元、要素の公開型、およびプリミティブ配列フラグ) のハッシュコードの合計になります。プリミティブ値のハッシュコードは、対応する boxed 型のオブジェクトのハッシュコードです (true のハッシュコードは Boolean.TRUE.hashCode() など)。このため、t1.equals(t2) は、2 つの ArrayType インスタンス t1 および t2 の t1.hashCode()==t2.hashCode() が、Object.hashCode() メソッドの一般規約に従っていることを示します。
ArrayType インスタンスは不変で、このインスタンスのハッシュコードは、hashCode の最初の呼び出し時に 1 回だけ計算されます。 その後の呼び出しには、同じ値が返されます。
OpenType<T> 内の hashCodeArrayType インスタンスのハッシュコード値Object.equals(java.lang.Object),
Hashtablepublic String toString()
ArrayType インスタンスの文字列表現を返します。
この文字列表現は、このクラスの名前 (javax.management.openmbean.ArrayType)、型名、次元、このインスタンスに定義された要素の公開型およびプリミティブ配列フラグで構成されます。
ArrayType インスタンスは不変で、このインスタンスの文字列表現は、toString の最初の呼び出し時に 1 回だけ計算されます。その後の呼び出しには、同じ値が返されます。
OpenType<T> 内の toStringArrayType インスタンスの文字列表現
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType)
throws OpenDataException
ArrayType インスタンスを、型保証された方法で作成します。
多次元配列は、このメソッドを必要な回数呼び出すことで構築できます。
同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
例として、次のコードの抜粋を参照してください。
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 のいずれかのインスタンス、または SimpleType、 CompositeType、 TabularType のいずれかを elementType として持つ別の ArrayType のインスタンス
OpenDataException - elementType's className が 公開データに許可された Java クラス名でない 場合public static <T> ArrayType<T> getPrimitiveArrayType(Class<T> arrayClass)
ArrayType インスタンスを、型保証された方法で作成します。
同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
例として、次のコードの抜粋を参照してください。
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 - int[].class、 boolean[][].class などのプリミティブ配列クラス。
返される ArrayType の getElementOpenType() メソッドは、 プリミティブ型の配列のラッパー型に 対応する SimpleType を 返す
IllegalArgumentException - arrayClass が プリミティブ配列ではない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。