|
JavaTM 2 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)
建構一個描述開放資料 值的 ArrayType 實例,該值是其元素的開放型別 為 elementType、元素的維度為 dimension 的陣列。 |
|
ArrayType(SimpleType<?> elementType,
boolean primitiveArray)
為提供的 SimpleType 建構一個一維 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 方法會返回它所描述的陣列實例的類別名(按照 java.lang.Class 的 getName 方法定義的規則),而不是陣列元素的類別名(由對 getElementOpenType().getClassName() 的調用返回)。
還可以將對應於此 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 的 className 不是一個受允許的開放資料 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將得到以下輸出: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,obj 是一個陣列,並且下面任何一個條件為 true 時,此方法才返回 true:
ArrayType 實例描述 SimpleType 元素或其對應基本型別的陣列,則 obj 的類別名與此 ArrayType 實例定義的 className 欄位相同(即 getClassName 方法返回的類別名,它包括維度資訊)ArrayType 實例描述實作 TabularData 介面或 CompositeData 介面的類別的陣列,則 obj 可分派給這樣的宣告陣列,obj 中包含的每個元素或者為 null,或者為此 ArrayType 實例指定元素的開放型別的有效值。
OpenType<T> 中的 isValueobj - 要測試的物件。
ArrayType 實例的一個值,則返回 true。public boolean equals(Object obj)
obj 參數與此 ArrayType 實例的相等性。
當且僅當兩個 ArrayType 實例描述具有相同維度、元素的開放型別以及基本型別陣列標記的陣列實例時,它們才相等。
OpenType<T> 中的 equalsobj - 與此 ArrayType 實例比較相等性的物件;如果 obj 為 null,或者不是類別 ArrayType 的一個實例,則此方法返回 false。
ArrayType 實例,則返回 true。Object.hashCode(),
Hashtablepublic int hashCode()
ArrayType 實例的雜湊碼值。
ArrayType 實例的雜湊碼是在 equals 比較中使用的資訊的所有元素的雜湊碼總和(即維度、元素的開放型別和基本型別陣列標記)。基本型別值的雜湊碼是其對應裝箱物件的雜湊碼(例如,true 的雜湊碼為 Boolean.TRUE.hashCode())。這確保 t1.equals(t2) 意味著對於任何兩個 ArrayType 實例 t1 和 t2 而言,都存在 t1.hashCode()==t2.hashCode(),這是方法 Object.hashCode() 的通用協定所要求的。
由於 ArrayType 實例是不可變的,此實例的雜湊碼在首次調用 hashCode 時計算一次,然後對於後續的調用返回相同的值。
OpenType<T> 中的 hashCodeArrayType 實例的雜湊碼值Object.equals(java.lang.Object),
Hashtablepublic String toString()
ArrayType 實例的字元串表示形式。
字元串表示形式由此類別(即 javax.management.openmbean.ArrayType)的名稱,以及為此實例定義的型別名稱、維度、元素的開放型別和基本型別陣列標記組成。
由於 ArrayType 實例是不可變的,此實例的字元串表示形式在首次調用 toString 時計算一次,然後對於後續的調用返回相同的值。
OpenType<T> 中的 toStringArrayType 實例的字元串表示形式
public static <E> ArrayType<E[]> getArrayType(OpenType<E> elementType)
throws OpenDataException
ArrayType 實例。
根據需要多次調用此方法可以創建多維陣列。
使用相同的參數調用此方法兩次可以返回相同的物件,或者相等但不同的兩個物件。
例如,以下程式碼片段:
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 的 className 不是一個受允許的開放資料 Java 類別名稱。public static <T> ArrayType<T> getPrimitiveArrayType(Class<T> arrayClass)
ArrayType 實例。
使用相同的參數調用此方法兩次可以返回相同的物件,或者相等但不同的兩個物件。
例如,以下程式碼片段:
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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。