nanoJBlend

java.lang
クラス Class<T>

java.lang.Object
  上位を拡張 java.lang.Class<T>

public final class Class<T>
extends Object

Class クラスは、nano VMが認識することの可能な、任意のクラスまたはインタフェースを表します。 Class インスタンスは以下の3つのカテゴリに分類できます:


メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトとこのオブジェクトを比較します。
static Class<?> forName(String clsname)
          指定された名称のクラスを表す Class オブジェクトを返します。
 String getName()
          この Class オブジェクトが表す実体の名称を表す String を返します。
 InputStream getResourceAsStream(String string)
          指定された名称のリソースを読み込む InputStream を返します。
 Class<? super T> getSuperclass()
          この Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクトを返します。
 boolean isArray()
          このオブジェクトが配列クラスを表すかどうかを判定します。
 boolean isAssignableFrom(Class<?> incls)
          この Class オブジェクトが表すクラスまたはインタフェースが、指定された Class オブジェクトが表すクラスまたはインタフェースと同じであるかまたはそれらのスーパークラスまたはスーパーインタフェースであるかを判定します。
 boolean isInstance(Object inobj)
          指定された Object が、このクラスオブジェクトが表すオブジェクトと代入互換であるかどうかを判定します。
 boolean isInterface()
          この Class オブジェクトがインタフェースを表すかどうかを返します。
 T newInstance()
          このオブジェクトが表すクラスのインスタンスを生成します。
 String toString()
          この Class オブジェクトの文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
getClass, hashCode, notify, notifyAll, wait, wait
 

メソッドの詳細

getName

public String getName()
この Class オブジェクトが表す実体の名称を表す String を返します。

もしこの Class オブジェクトが配列以外の参照型を表す場合、そのクラスのバイナリ名が返されます。

もしこの Class オブジェクトが基本データ型または void を表す場合、このメソッドは基本データ型または voidに対応するキーワードを表す String を返します。

もしこの Class オブジェクトが配列型を表す場合、配列の次元数に等しい数の '[' に続けて配列の要素のタイプを表す文字列からなる表現形式の文字列を返します。 要素のタイプは以下のようにエンコードします:

要素のタイプ表現形式
boolean Z
byte B
char C
クラスまたはインタフェースL{クラス・インタフェース名};
int I
long J
short S

表中の{クラス・インタフェース名}はクラスまたはインタフェースのバイナリー名です。

例:

 "abc".getClass().getName()"java.lang.String" を返します。
 (new Object[3]).getClass().getName()"[Ljava.lang.Object;" を返します。
 (new int[3][4][5]).getClass().getName()"[[[I" を返します。
 

戻り値:
オブジェクトが表す実体の名称

toString

public String toString()
この Class オブジェクトの文字列表現を返します。 この Class オブジェクトが表す実体の型名 "class" または "interface" に続けて、空白1文字、および getName() が表す文字列が連結された文字列が返ります。

オーバーライド:
クラス Object 内の toString
戻り値:
この Class オブジェクトの文字列表現

newInstance

public T newInstance()
              throws InstantiationException,
                     IllegalAccessException
このオブジェクトが表すクラスのインスタンスを生成します。

戻り値:
生成したインスタンス。
例外:
InstantiationException - デフォルトコンストラクタが無い場合、配列やインターフェースまたはabstract クラスの場合。
IllegalAccessException - デフォルトコンストラクタにアクセスできない場合。 (※ このクラスの実装は、 private 時のみアクセス不可と判断します。)

equals

public boolean equals(Object obj)
指定されたオブジェクトとこのオブジェクトを比較します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較するオブジェクト
戻り値:
obj が 同じクラスを示す Class インスタンスであれば true

getResourceAsStream

public InputStream getResourceAsStream(String string)
指定された名称のリソースを読み込む InputStream を返します。

パラメータ:
string - リソースの名称
戻り値:
リソースを読み込む InputStream

isArray

public boolean isArray()
このオブジェクトが配列クラスを表すかどうかを判定します。

戻り値:
このオブジェクトが配列クラスを表す場合 true 、それ以外は false

isAssignableFrom

public boolean isAssignableFrom(Class<?> incls)
この Class オブジェクトが表すクラスまたはインタフェースが、指定された Class オブジェクトが表すクラスまたはインタフェースと同じであるかまたはそれらのスーパークラスまたはスーパーインタフェースであるかを判定します。

この Class オブジェクトが基本データ型を表す場合、指定された Class オブジェクトが同じ基本データ型を表す場合にだけこのメソッドは true を返します。

パラメータ:
incls - 比較する Class オブジェクト
戻り値:
incls の型のオブジェクトをこの Class が表す型のオブジェクトに割り当てることができる場合 true 、そうでない場合 false
例外:
NullPointerException - inclsnull の場合

isInstance

public boolean isInstance(Object inobj)
指定された Object が、このクラスオブジェクトが表すオブジェクトと代入互換であるかどうかを判定します。 このメソッドは inobjnull ではなく、かつ ClassCastException を発生させることなくこの Class オブジェクトが表すクラスの参照型にキャストできる場合 true を、そうでない場合 false を返します。

パラメータ:
inobj - チェック対象のオブジェクト
戻り値:
inobj がこの Class オブジェクトが表すクラスのインスタンスの場合 true 、そうでない場合 false

isInterface

public boolean isInterface()
この Class オブジェクトがインタフェースを表すかどうかを返します。

戻り値:
インタフェースを表す場合 true 、そうでない場合 false

forName

public static Class<?> forName(String clsname)
                        throws ClassNotFoundException
指定された名称のクラスを表す Class オブジェクトを返します。

このメソッドはロマイズされたクラスのみ取得できます。 ロマイザはスタートアップクラス(およびいくつかの必須クラス)から(直接または間接的に)参照されないクラスはロマイズしません。 そのため、このメソッドで取得する予定のクラスは、ロマイザに -keep オプションを指定して,確実にロマイズされるようにする必要があります。

例えば jp.co.aplix.avm パッケージのすべてのクラスをロマイズする場合、 -keep "jp/co/aplix/avm/*" のように指定します。

パラメータ:
clsname - クラス名(完全修飾名)
戻り値:
clsname のクラスを表す Class オブジェクト
例外:
ClassNotFoundException - clsname に相当するクラスが存在しない場合

getSuperclass

public Class<? super T> getSuperclass()
この Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクトを返します。 この Class オブジェクトが、 Object クラス、インタフェース、基本データ型または void 型を表している場合、このメソッドは null を返します。 この Class オブジェクトが配列クラスを表す場合、このメソッドは Object クラスを表す Class オブジェクトを返します。

戻り値:
この Class オブジェクトが表すクラスのスーパークラスを表す Class オブジェクト

nanoJBlend

Copyright 2005-2013 Aplix and/or its affiliates. All rights reserved. Aplix Confidential and Restricted.
NTT DOCOMO and Hitachi Kokusai Electric Confidential