如何通过其他 ENUM 字段值有条件地从对象中删除字段



我有一个类如下,SelectedFormat是一个枚举。

主要对象类

public class ABC {
private SelectedFormat selectedFormat;
private JsonArrayVo jsonArray;
}

选定格式

public enum SelectedFormat {
TEXT("TEXT"), JSON( "JSON");
}

我需要删除"jsonArray"字段才能获得selectedFormat的值。在这种情况下,jsonArray 仅在 selectedFormat 为 JSON 时适用

你的错误是将SelectedFormat作为枚举。

相反,您应该Format实现接口的两个类TextFormatJSonFormat对接口进行建模。

interface Format { ... }
class TextFormat implements Format {...}
class JsonFormat implements Format {
private JsonArrayVo valueObject;
}

最新更新