Java代码如何遍历枚举值呢?

书欣 Java经验 发布时间:2022-08-09 22:05:02 阅读数:13545 1
下文笔者讲述java代码遍历枚举值的方法分享,如下所示

java枚举简介

枚举是java中一种引用数据类型
    其功能用于预定义常量赋值给变量

定义枚举

public enum SexEnum {
    MALE,
	FEMALE
}

注意事项:
    Enum类型没有提供迭代方法
     如forEach()或iterator()
     我们可以使用其values()方法的返回值
那么如何遍历枚举呢?

方式1:使用for循环遍历枚举

for (SexEnum s:SexEnum.values()) { 
    System.out.println(s); 
}
 

使用流方式

可借助java.util.Stream
可在枚举值上执行相应操作创建流
Stream.of(SexEnum.values());
或
Arrays.stream(SexEnum.values());
这里扩展上面的枚举类,使用流方式实现:
 public enum SexEnum {
    MALE("A"),
	FEMALE("B")

    private String typeOfInfo;
 
    SexEnum(String typeOfInfo) {
        this.typeOfInfo = typeOfInfo;
    }
	
    // standard getters and setters 
 
    public static Stream<SexEnum> stream() {
        return Stream.Of(SexEnum.values()); 
    }
}

 
例:
public class EnumStreamExample {
 
    public static void main() {
        SexEnum.stream()
        .filter(d -> d.getTypeOfInfo().equals("off"))
        .forEach(System.out::println);
    }
}

使用forEach

forEach方法是Java8开始引入
   所有集合类都有其实现
    为了在枚举中使用
    首先需要转换枚举为集合子类
    可使用Arrays.aslist方法生成ArrayList
    然后使用forEach方法:

使用EnumSet

EnumSet是针对枚举类型的特殊实现:
EnumSet.allOf(SexEnum.class)
  .forEach(s -> System.out.println(s));
 
使用枚举类型的ArrayList
List中增加枚举值
然后再按顺序输出枚举值
List<SexEnum> list = new ArrayList<>();
list.add(SexEnum.MALE);
list.add(SexEnum.FEMALE); 
for (SexEnum s : list) {
    System.out.println(s);
}
list.remove(SexEnum.FEMALE);
if (!list.contains(SexEnum.FEMALE)) {
    System.out.println("FEMALE NOT in the list");
}
for (SexEnum s : list) {
    System.out.println(s);
}
从以上示例,我们可以看出遍历枚举,可使用
forEach,Stream以及for等
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202208/16600539414204.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者