Java: 枚举类模板

java标志
image-3407

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 状态枚举.
 *
 */

@Getter
@AllArgsConstructor
public enum Status {

  /** 正常 */
  NORMAL("正常", 1),
  /** 已使用 */
  USED("已使用", 2),
  /** 其他 */
  OTHER("其他", 3);

  private String desc;
  private int index;

  public static String getDesc(int index) {
    return Arrays.stream(Status.values())
        .filter(item -> item.getIndex() == index)
        .findFirst()
        .map(Status::getDesc)
        .orElse(null);
  }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据