Как условно удалить поле из объекта по значению другого поля ENUM - PullRequest
0 голосов
/ 06 января 2020

У меня есть класс следующим образом, и SelectedFormat является Enum.

Класс основного объекта

public class ABC {

    private SelectedFormat selectedFormat;
    private JsonArrayVo jsonArray;
}

SelectedFormat

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

Мне нужно удалить «jsonArray» поле в порядке значения selectedFormat. В этом случае jsonArray применяется только тогда, когда selectedFormat равен JSON

1 Ответ

4 голосов
/ 06 января 2020

Ваша ошибка состояла в том, чтобы сделать SelectedFormat перечислением.

Вместо этого вы должны смоделировать интерфейс Format двух классов TextFormat и JSonFormat, которые реализуют интерфейс.

interface Format { ... }

class TextFormat implements Format {...}

class JsonFormat implements Format {
   private JsonArrayVo valueObject;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...