|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.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
インスタンスによって
記述される配列内に含まれる
要素値の 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 は、次のいずれかの条件が満たされている場合、配列になります。
ArrayType
インスタンスが SimpleType 要素または対応するプリミティブ型の配列を記述する場合、obj のクラス名はこの ArrayType
インスタンスに定義された className フィールドと同じ (getClassName
メソッドによって返される、次元情報を含むクラス名) になります。ArrayType
インスタンスが TabularData
インタフェースまたは CompositeData
インタフェースを実装するクラスの配列を記述する場合、obj は宣言された配列に割り当てることができます。obj に含まれる各要素は、null か、この ArrayType
インスタンスによって指定された要素の公開型に対して有効な値になります。
OpenType<T>
内の isValue
obj
- 判定されるオブジェクト
ArrayType
インスタンスの値である場合は
true
public boolean equals(Object obj)
obj
パラメータとこの ArrayType
インスタンスが等しいかどうかを比較します。
2 つの ArrayType
インスタンスは、同じ次元、要素の公開型、およびプリミティブ配列フラグを持つ配列インスタンスを記述する場合に限り等しいと言えます。
OpenType<T>
内の equals
obj
- この
ArrayType
インスタンスと等しいかどうかを比較するオブジェクト。obj が
null
の場合、または
ArrayType
クラスのインスタンスではない場合、このメソッドは
false
を返す
ArrayType
インスタンスと同じ場合は
true
Object.hashCode()
,
Hashtable
public 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>
内の hashCode
ArrayType
インスタンスのハッシュコード値Object.equals(java.lang.Object)
,
Hashtable
public String toString()
ArrayType
インスタンスの文字列表現を返します。
この文字列表現は、このクラスの名前 (javax.management.openmbean.ArrayType
)、型名、次元、このインスタンスに定義された要素の公開型およびプリミティブ配列フラグで構成されます。
ArrayType
インスタンスは不変で、このインスタンスの文字列表現は、toString
の最初の呼び出し時に 1 回だけ計算されます。その後の呼び出しには、同じ値が返されます。
OpenType<T>
内の toString
ArrayType
インスタンスの文字列表現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 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。