RPCとJava Genericsを使用してオブジェクトのリストを送信するときにSerializationExceptionエラーが発生しています。これは、(ExporterFormKeyはPOJOオブジェクトである)のPOJOGWTとGenerics
List<ExporterFormKey> list = new ArrayList<ExporterFormKey>();
ExporterFormKey key = new ExporterFormKey();
key.setKey("key1");
list.add(key);
Test<ExporterFormKey> test = new Test<ExporterFormKey>();
test.setItems(list);
のリストをテストするウィジェットを作成して通過させるためのコードである
public class Test<T> {
ListDataProvider<T> ldp = new ListDataProvider<T>();
public void setItems(List<T> list){
for(T t :list){
ldp.getList().add(t);
}
}
public List<T> getItems(){
return ldp.getList();
}
}
:
私はエラーを表示するには、このウィジェットを作成してい
終わりに次のコードは、SerializationExceptionをスロー:
service.sendList(test.getList(), new AsyncCallback...);
次ながら一つは罰金を行います。
service.sendList(list, new AsyncCallback...);
-----編集----
を私は次のコードも
List<ExporterFormKey> newList = new ArrayList<ExporterFormKey>();
newList.add(test.getItems().get(0));
service.sendList(newList , new AsyncCallback...);
それともこの作品やってするも
List<ExporterFormKey> newList = new ArrayList<ExporterFormKey>(test.getItems());
を働くことがわかりました
私もこの変更がテストワークで見つかった!
public List<T> getItems(){
return new ArrayList<T>(ldp.getList());
}
Test.getList()をタイプしてListまたはDeclare Testをにタイプする必要があります。 –
SSR
ListDataProvider()がArrayListを返していない可能性がありますが、Collections.unmodifiableList()がListまたはAbstractListの派生型を返した場合など、SerializationExceptionとサーバーログを完全に投稿できますか? –
izaera