GWTはclientパッケージにあるIsSerializableを実装したクラスならサービスメソッドの戻り値や引数にできるとあったので適当に
public class Test implements IsSerializable{
String id;public Test(String id){
this.id = id;
}public String getID(){
return id;
}
}
というクラスを作りサービスメソッドでインスタンスを作り返そうとしたら実行時にエラー。何が悪いのかいろいろ考えてみたけど、このTestクラスのインスタンスを作るだけならエラーにならなかったので、IsSerializableを実装以外に何かやらないといけないことがあるのか?と思いGWTのDevelopers Forumを検索したら同じようなエラーがでてる人を発見。
この人は自己解決したみたいで、解決方法は引数を受け取るコンストラクタを定義しないことらしい。試しにコンストラクタの引数を消してみたらうまくいった。Stringなんかも引数を受け取るコンストラクタがあるのになぜ?と疑問に思うが、できないものはしょうがない。コンストラクタで渡すはずだった引数を普通のメソッドで渡したらエラーは起きずにすんだ。まだIsSerializableのことがよくわからん…