この gwt javadoc ページでhttp://www.gwtproject.org/javadoc/latest/com/google/gwt/core/client/GWT.html java.lang.Class<?>
がパラメータとして create 関数に渡されます。これはどのように有効ですか?.. create(List<Class> classLiteral)
or のようなものは理解できましcreate(java.lang.Class classLiteral)
たが、そこでの使用方法がどのように私を混乱させます. 明確化は大歓迎です
質問する
1052 次
2 に答える
4
java.lang.Class<?>
インスタンスの完全な型宣言です。と同等です
import java.lang.Class;
...
static <T> T create(Class<?> classLiteral) ...
彼らはjavadocで徹底的に取り組んでいます。java.lang.Class
クラスを表すJavaクラスです。ここでその javadoc を読むことができます。
クラスの Class オブジェクトにアクセスするには、
YourClass.class // where class is a reserved java keyword will return an instance of type Class<YourClass>
インスタンスがある場合
YourClass yourInstance = ...
yourInstance.getClass(); // will return an instance of type Class<YourClass>
混乱する場合<?>
は、ワイルドカードとして知られています。詳細については、こちらをご覧ください。
于 2013-06-27T19:37:10.727 に答える
2
この場合、メソッドはクラスのインスタンスではなく、クラス リテラルを呼び出します。これは、クラスのインスタンスではなく、実際のクラスをメソッドに渡すことを意味します。
この例は、次のように呼び出す場合です。
作成 (MyClass.class);
ここでは、Class オブジェクトを渡していますが、MyClass のインスタンスは渡していません。そのため、create メソッドは、渡すクラスのインスタンスではなく、クラス オブジェクトを要求しています。
それが class(java.lang.Class classLiteral) の場合、class を拡張する任意のオブジェクトのインスタンスを呼び出します。
于 2013-06-27T19:39:00.767 に答える