Как получить базовое значение перечисления

Для Java 8:

Collections.sort(list, comparing(ClassName::getName));

или

Collections.sort(list, comparing(ClassName::getName).reversed());

Кажется, что работает со строковым типом даты, также как «2015-12-14T21: 55: 51Z»

Другим способом является

Collections.sort(list, comparing(ClassName::getName, Comparator.nullsLast(Comparator.naturalOrder())));
14
задан Paul Wicks 23 September 2008 в 20:16
поделиться

5 ответов

Попробуйте это:

string value = (string)TransactionTypeCode.Shipment;
1
ответ дан 1 December 2019 в 08:20
поделиться

Я верю Перечислению. GetValues () - то, что Вы ищете.

2
ответ дан 1 December 2019 в 08:20
поделиться

Я Искал Это, и я получаю Использование Решения Класс Преобразования

int value = Convert.ToInt32(TransactionTypeCode.Shipment);

посмотрите как это легкий

0
ответ дан 1 December 2019 в 08:20
поделиться

Это - то, как я обычно настраивал свои перечисления:

public enum TransactionTypeCode {

  Shipment("S"),Receipt ("R");

  private final String val;

  TransactionTypeCode(String val){
    this.val = val;
  }

  public String getTypeCode(){
    return val;
  }
}

System.out.println(TransactionTypeCode.Shipment.getTypeCode());
-1
ответ дан 1 December 2019 в 08:20
поделиться

Вы должны проверить базовый тип перечисления, а затем преобразовать в правильный тип:

public enum SuperTasks : int
    {
        Sleep = 5,
        Walk = 7,
        Run = 9
    }

    private void btnTestEnumWithReflection_Click(object sender, EventArgs e)
    {
        SuperTasks task = SuperTasks.Walk;
        Type underlyingType = Enum.GetUnderlyingType(task.GetType());
        object value = Convert.ChangeType(task, underlyingType); // x will be int
    }    
30
ответ дан 1 December 2019 в 08:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: