首页 > 解决方案 > 如何通过其他 ENUM 字段值有条件地从对象中删除字段

问题描述

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

主要对象类

public class ABC {

    private SelectedFormat selectedFormat;
    private JsonArrayVo jsonArray;
}

选定格式

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

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

标签: javaenums

解决方案


您的错误是进行SelectedFormat枚举。

相反,您应该为一个接口建模一个Format两个类TextFormatJSonFormat实现该接口。

interface Format { ... }

class TextFormat implements Format {...}

class JsonFormat implements Format {
   private JsonArrayVo valueObject;
}

推荐阅读