0

私は持っている

class A
{
String a;
String b;
//..getters, setters
}

今、私はArrayList<? extends Object> resultDataクラス A と他のいくつかのクラスのオブジェクトを保持しています。基本的に、他のAPIでJsonファイルを生成するには、このリスト「resultData」が必要です。

ここで私の質問は、クラス A オブジェクトをリストに追加するときに、いくつかの条件 (X) が true である場合です。次のような変更されたクラス A オブジェクト (または他の匿名クラス オブジェクト) が必要です。

class A
{
String a;
//..getters, setters
}

これは、クラス A の特定のオブジェクトの 1 つであり、フィールド文字列 b を持つべきではありません(批判する前に、特定の JSon 形式にそのような変更されたオブジェクトが必要であり、使用される新しいクラス定義を定義したくないため、これを行っています) 1回だけ)

私の最後のオプションは、次のような匿名クラスを作成することです:(そして、それをリストに追加します)

Object ob = new Object{
String b;
//..getters, setters
}

また、お願いします。必要な構造を持つ匿名クラスを作成する他の方法を提案してください。

4

2 に答える 2

0

私が正しく理解している場合は、シリアル化のためにフィールドを削除してjson形式にする必要があります。正しい場合は、フィールドを作成してくださいtransient

他の解決策は、シリアル化したいフィールドを持つスーパークラスを作成し、Aそれを拡張することです

しかし、その場でクラスを変更するのは正しい方法ではありません

于 2014-05-23T08:43:48.537 に答える