1

以下 JSNI 包装器类是否也在做同样的事情?

public final MyClass extends JavaScriptObject {

   // ...

   private static MyClass createImpl() {
      return (MyClass) JavaScriptObject.createObject();  
   }

}

public final MyClass extends JavaScriptObject {

   // ...

   private static MyClass createImpl() {
      return JavaScriptObject.createObject().cast();  
   }

}
4

1 回答 1

3

的来源JavaScriptObject.cast()看起来像这样:

public final <T extends JavaScriptObject> T cast() {
  return (T) this;
}

所以答案是“是的”,它也在做同样的事情。

看:

http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/core/client/JavaScriptObject.java?r=5303#116

于 2013-11-03T08:26:07.640 回答