JavaTM Platform
Standard Ed. 6

javax.management.openmbean
클래스 ArrayType<T>

java.lang.Object 
  상위를 확장 javax.management.openmbean.OpenType <T>
      상위를 확장 javax.management.openmbean.ArrayType<T>
모든 구현된 인터페이스:
Serializable


public class ArrayType<T>
extends OpenType <T>

ArrayType 클래스는, 「공개 데이터」치의 n 차원 배열인 모든 「공개 데이터」치를 기술하는 인스턴스를 가지는 「공개형」클래스입니다.

다음에, 유효한 ArrayType 인스턴스의 예를 나타냅니다.

 // 2-dimension array of java.lang.String
 ArrayType a1 = 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);
 

도입된 버젼:
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 인스턴스를 구축합니다.
 
메소드의 개요
 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 ()
          이 공개형이 기술하는 공개 데이터값가 프리미티브(primitive) 배열의 경우는 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
 

생성자 의 상세

ArrayType

public ArrayType(int dimension,
                 OpenType <? > elementType)
          throws OpenDataException 
dimension 차원의 요소 ( 「공개형」이 elementType 의 요소)의 배열인 「공개 데이터」를 기술하는 ArrayType 인스턴스를 구축합니다.

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
 
또, 다음의 코드도 상기의 코드와 등가이며, 출력은 같게 됩니다.
 ArrayType t1 = 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 클래스명이 아니다 경우

ArrayType

public ArrayType(SimpleType <? > elementType,
                 boolean primitiveArray)
          throws OpenDataException 
지정된 SimpleType 의 1 차원 ArrayType 인스턴스를 구축합니다.

이 생성자 은,primitiveArray 가 true 인 경우에, 원시형의 배열의 작성을 지원합니다.

프리미티브(primitive) 배열에서는,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 - 이 배열이 프리미티브(primitive) 배열을 기술하는 경우는 true
예외:
IllegalArgumentException - dimension 가 정의 정수가 아닌 경우
OpenDataException - primitiveArray 가 true 로, elementType 가 원시형의 유효한 SimpleType 는 아니다 경우
도입된 버젼:
1.6
메소드의 상세

getDimension

public int getDimension()
이 ArrayType 인스턴스에 의해 기술되는 배열의 차원을 돌려줍니다.

반환값:
차원

getElementOpenType

public OpenType <? > getElementOpenType()
이 ArrayType 인스턴스에 의해 기술된 배열내에 포함되는 요소치의 「공개형」을 돌려줍니다.

반환값:
요소의 형태

isPrimitiveArray

public boolean isPrimitiveArray()
이 공개형이 기술하는 공개 데이터값가 프리미티브(primitive) 배열의 경우는 true, 그렇지 않은 경우는false 를 돌려줍니다.

반환값:
이것이 프리미티브(primitive) 배열형인 경우는 true
도입된 버젼:
1.6

isValue

public boolean isValue(Object  obj)
obj 가, 이 ArrayType 인스턴스의 값일지 어떨지를 테스트합니다.

이 메소드는,obj 가 null 가 아닌 경우에 한정해 true 를 돌려줍니다. obj 는, 다음의 몇개의 조건이 채워지고 있는 경우, 배열이 됩니다.

정의:
클래스 OpenType <T > 내의 isValue
파라미터:
obj - 판정되는 객체
반환값:
obj 가 이 ArrayType 인스턴스의 값인 경우는 true

equals

public boolean equals(Object  obj)
지정된 obj 파라미터와 이 ArrayType 인스턴스가 동일한지 어떤지를 비교합니다.

2 개의 ArrayType 인스턴스는, 같은 차원, 요소의 공개형, 및 프리미티브(primitive) 배열 플래그를 가지는 배열 인스턴스를 기술하는 경우에 한정해 동일하다고 말할 수 있습니다.

정의:
클래스 OpenType <T > 내의 equals
파라미터:
obj - 이 ArrayType 인스턴스와 동일한지 어떤지를 비교하는 객체. obj 가 null 의 경우, 또는 ArrayType 클래스의 인스턴스가 아닌 경우, 이 메소드는 false 를 돌려준다
반환값:
지정된 객체가 이 ArrayType 인스턴스와 같은 경우는 true
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 ArrayType 인스턴스의 해시 코드값를 돌려줍니다.

ArrayType 인스턴스의 해시 코드는,equals 비교로 사용되는 모든 정보 요소 (차원, 요소의 공개형, 및 프리미티브(primitive) 배열 플래그)의 해시 코드의 합계가 됩니다. 프리미티브(primitive)치의 해시 코드는, 대응하는 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

toString

public String  toString()
이 ArrayType 인스턴스의 캐릭터 라인 표현을 돌려줍니다.

이 캐릭터 라인 표현은, 이 클래스의 이름 (javax.management.openmbean.ArrayType), 형명, 차원, 이 인스턴스에 정의된 요소의 공개형 및 프리미티브(primitive) 배열 플래그로 구성됩니다.

ArrayType 인스턴스는 불변으로, 이 인스턴스의 캐릭터 라인 표현은,toString 의 최초의 호출시에 1 회만 계산됩니다. 그 후의 호출에는, 같은 값이 돌려주어집니다.

정의:
클래스 OpenType <T > 내의 toString
반환값:
이 ArrayType 인스턴스의 캐릭터 라인 표현

getArrayType

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 클래스명이 아니다 경우
도입된 버젼:
1.6

getPrimitiveArrayType

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 등의 프리미티브(primitive) 배열 클래스. 반환되는 ArrayType 의 getElementOpenType() 메소드는, 원시형의 배열의 래퍼형에 대응하는 SimpleType 를 돌려준다
예외:
IllegalArgumentException - arrayClass 가 프리미티브(primitive) 배열이 아닌 경우
도입된 버젼:
1.6

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.