0
是否有可能遍歷特定類的所有'實例'?我一直四處尋找,並想出了:遍歷所有SimpleTextBox的
for (Field field : SimpleCheckBox.class.getFields()) {
System.out.println(field.getName());
}
我想通過所有的領域,並實現他們的一些功能,而無需單獨選擇它們。上面的代碼給出了錯誤:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.Error: Unresolved compilation problem: The method getFields() is undefined for the type Class
任何幫助將不勝感激!
非常感謝您的回覆,將遍歷容器中的組件。 +1 :) – Lexus 2012-08-10 13:08:57
GWT中不支持大多數反射,因爲這需要編譯所有可能的類型/字段/方法,所以編譯器無法刪除大量代碼。 GWT中的'java.lang.Class'不支持'getFields'等等。有關JRE支持的更多詳細信息,請參閱https://developers.google.com/web-toolkit/doc/latest/RefJreEmulation,特別是關於'Class'的詳細信息。 – 2012-08-11 22:56:31