Как использовать enum с пробелами в Java - PullRequest
0 голосов
/ 20 октября 2019

У меня есть проблема, которую я хочу решить. Я использую селен, и на одном из тестов мне нужно выбрать значения из выпадающего списка. значения:

Unassigned - 1
Self Service -  2

Я хочу создать enum с именем opsOwner, который будет содержать эти значения. проблема со значениями - пробелы. Как я могу создать enum с этими значениями, и в другом классе присвоить их?

это мой код:

public enum OpsOwner
{
    selfService ("Self Service - 2");
    unassigned("Unassigned - 1");

    private String opsOwnerValue;

    OpsOwner(String value)
    {
        this.opsOwnerValue = value;
    }

    OpsOwner(){}

    public String opsOwnerValueValue(){ return opsOwnerValue; }

    @Override
    public String toString() {
        return "opsOwnerValue{" +
                "opsOwnerValue='" + opsOwnerValue + '\'' +
                '}';
    }
}
}

и вот как я хочу использовать код:

PubOpsApproveExPublisherObject.OpsOwner.selfService;

код работает только в том случае, если я удалил

unassigned("Unassigned - 1");

при добавлении второго значения без назначения («Unassigned - 1»);это говорит об отсутствии метода тела. Я просто хочу перечислить значения пробелов, а потом оценивать. Может кто-нибудь, пожалуйста, посоветуйте, как я могу его использовать? сейчас я использую не enum, а String, поскольку мне нужна гибкость.

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Это должно помочь:

 public enum OpsOwner {
        selfService("Self Service - 2"), // Comma here!
        unassigned("Unassigned - 1");

        private String opsOwnerValue;

        OpsOwner(String value) {
            this.opsOwnerValue = value;
        }

        OpsOwner() {}

        public String opsOwnerValueValue() { return opsOwnerValue; }

        @Override
        public String toString() {
            return "opsOwnerValue{" +
                    "opsOwnerValue='" + opsOwnerValue + '\'' +
                    '}';
        }
    }
1 голос
/ 20 октября 2019

Значения перечисления должны быть разделены запятыми. Вы объявили их разделенными точкой с запятой. Попробуйте приведенный ниже.

public enum OpsOwner
{
    selfService ("Self Service - 2"), unassigned("Unassigned - 1");

    private String opsOwnerValue;

    OpsOwner(String value)
    {
        this.opsOwnerValue = value;
    }

    OpsOwner(){}

    public String opsOwnerValueValue(){ return opsOwnerValue; }

    @Override
    public String toString() {
        return "opsOwnerValue{" +
                "opsOwnerValue='" + opsOwnerValue + '\'' +
                '}';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...