1
ユーザー定義クラスは直列化可能です適用される次の:
- すべての非ファイナル、非一時的なインスタンスフィールドをそれはIsSerializableに割り当てまたは直列化され、いずれかでそれが直接、これらのインタフェースのいずれかを実装しているためか、それが
- を行い、スーパークラスから を導出しているためですそれ自体はシリアライズ可能であり、
- GWT 1.5では、デフォルトの(ゼロ引数)コンストラクタ(アクセス修飾子付き)またはコンストラクタをまったく持たない必要があります。
通常、デフォルトのコンストラクタを含めるのは忘れてしまいます。私は通常、実行時にシリアライゼーション例外が発生したときにこれについて調べています。これは私を不必要なものとして襲う。確かに、Eclipse(またはGoogle Plugin)がGWTコードを静的に解析してコンパイル時にこの問題を発見する方法はありますか?どこかで少し赤い球が見えるのは、ランタイムの例外を得ることよりも無限に良いです。
私は欲望の増加順に、次のような解決策を期待しています:私は警告/検証
- Configオプションをこのプラグインをインストールすることができます。
- ジョブを完了させるための既存の方法。
- これを自分で行うためにGoogle Pluginを変更する方法についてのヒント。
パラメータ化されたコンストラクタを作成しますが、空の空のインスタンスを作成することは忘れてしまいますか?私はあなたを助けるプラグインを見ていない。クラスがSerializableを実装していても、コンパイルの問題ではありません。 – Vladimir
@Vladimir、あなたはコードがコンパイルされるという点で正しいです。しかし、コードが実際にコンパイルされるかどうかに関係なく、実行できる静的解析はたくさんあります。 findbugs、checkstyleなどのツールはすべてコンパイル時にランタイムバグを特定するのに役立ちます。 「クラスがIsSerializeableインターフェイスを実装していますが、デフォルトのコンストラクタはありません」というシナリオを検出するためのツールを書くことができると期待するのは非常に合理的です。(私は通常、 GWTはアクセス修飾子に気を付けません) –