我有

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


现在,我有ArrayList<? extends Object> resultData持有类A和其他一些类的对象。
基本上,我需要此列表“ resultData”以在其他一些API中生成Json文件。

现在我的问题是在将A类对象添加到列表中并且某些条件(X)为true时,我需要一个经过修改的A类对象(或任何其他匿名类对象),例如:

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


那是类A的一个特定对象,不应具有字段String b(在批评之前,我这样做是因为我需要为我的特定JSon格式使用这种修改后的对象,并且我不想定义一个新的使用的类定义只有一次)

我的最后一个选择是使匿名类如下:(&然后将其添加到我的列表中)

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


也请。建议使用所需结构创建匿名类的任何其他方法。

最佳答案

如果我正确地找到了您,则需要删除将序列化为json格式的字段,
如果我说得对,则将您的字段设置为transient

另一种解决方案是使用要序列化的字段制作超类,
并使A扩展它

但是在飞行中修改课程,这不是正确的方法

关于java - 在运行时更改类结构或将其放入匿名类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23823551/

10-10 16:34