A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | W |

Index: G

getClass()



getClass()関数 ・・・ JavaObjectのJavaClassを返す

対応バージョン

クライアントサイドNavigator 3

コーディング形式

getClass(javaobj)

引数

javaobj	JavaObjectオブジェクト。

リターン値

javaobjのJavaClassクラス。

解説

getClass()関数は、JavaObjectオブジェクト(javaobj)を引数に取り、JavaObjectオブジェクトのJavaClassオブジェクトを返します。つまり、指定されたJavaObjectオブジェクトに相当するJavaオブジェクトのJavaクラスを表すJavaClassオブジェクトを返します。

使用上のヒントと注意

JavaオブジェクトのgetClassメソッドとJavaScriptのgetClass()関数を混同しないように注意してください。同様に、Javaのjava.lang.ClassクラスとJavaScriptのJavaClassオブジェクトを混同しないようにしましょう。
次のJava矩形オブジェクトについて考えてみましょう。

var r = new java.awt.Rectangle();

上記のコードで、rはJavaObjectオブジェクトを保持するJavaScriptの変数です。以下に示すようにJavaScriptのgetClass()関数を呼び出すと、java.awt.Rectangleクラスに相当するJavaClassオブジェクトが返されます。

var c = getClass(r);

以下に示すように、JavaClassオブジェクトとjava.awt.Rectangleクラスを比較してみると、これを検証できます。

if (c == java.awt.Rectangle) ...

一方、JavaのgetClass()メソッドは呼び出し方法も実行結果もまったく違います。

c = r.getClass();

上記のコードを実行すると、cはjava.lang.Classオブジェクトに相当するJavaObjectオブジェクトになります。このjava.lang.Classオブジェクトは、java.awt.Rectangleクラスに相当するJavaオブジェクトです。java.lang.Classクラスの使用方法については、Javaのマニュアルを参照してください。
これまでの話のまとめとして、次のコードを紹介しておきます。どんなJavaObjectオブジェクトoに対してもこの式を評価した結果は常にtrueになります。

(getClass(o.getClass()) == java.lang.Class)

関連項目

javaJavaArrayJavaClassJavaObjectJavaPackagePackages、20章



トップページに戻る