オブジェクトが欲しいClass<T>
のですが、これら2つのアプローチの違いはどれですか。
Test ob = new Test();
ob.getclass();
また
Test.class
オブジェクトが欲しいClass<T>
のですが、これら2つのアプローチの違いはどれですか。
Test ob = new Test();
ob.getclass();
また
Test.class
クラスjavadocによる
最初のアプローチは、からClassオブジェクトを取得しますObject
。
2番目のアプローチでは、リテラルを使用して、名前付き型(またはvoid)のClassオブジェクトを取得します。class
getClass()
メソッドはで定義されているため、java.lang.Object
任意のオブジェクト参照で呼び出すことができます。
参照が指すオブジェクトの実行時型に関連付けられたClassオブジェクトを取得します。。
getClass()メソッドは、実際には.classにまったく類似していません。より近いのはClass.forName(String)で、Stringによって指定されたクラスのClassオブジェクトを取得します。
どちらかを使用できる状況で.class
は、より効率的であるため、を使用します。