当前位置: 首页 > news >正文

刚成立公司如何做网站杭州小程序建设公司

刚成立公司如何做网站,杭州小程序建设公司,成都建筑公司排名前十,淘宝客做的比较好的网站文章目录 一、枚举类型概述二、valueOf() 方法详解1. 什么是 valueOf() 方法?2. 使用示例 三、使用 Stream API 查找枚举对象1. 使用 Stream 查找枚举对象2. 使用 Stream 统计枚举对象 四、总结推荐阅读文章 在 Java 中,枚举(enum&#xff09…

文章目录

    • 一、枚举类型概述
    • 二、valueOf() 方法详解
      • 1. 什么是 valueOf() 方法?
      • 2. 使用示例
    • 三、使用 Stream API 查找枚举对象
      • 1. 使用 Stream 查找枚举对象
      • 2. 使用 Stream 统计枚举对象
    • 四、总结
      • 推荐阅读文章

在 Java 中,枚举(enum)是一种特殊的类,用于表示一组常量。它不仅使代码更具可读性,还提供了类型安全性。Java 枚举还带有一些有用的方法,其中最常用的之一是 valueOf() 方法。此外,结合 Java 8 引入的 Stream API,我们可以轻松地处理枚举。本文将深入探讨 valueOf() 方法的使用以及如何通过 Stream API 查找枚举对象。

一、枚举类型概述

枚举类型是用 enum 关键字定义的,表示一组固定的常量。例如,表示一个星期的枚举类型:

public enum Day {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

二、valueOf() 方法详解

1. 什么是 valueOf() 方法?

valueOf() 是枚举类的一个静态方法,允许我们根据指定的字符串返回对应的枚举常量。这个方法的签名如下:

public static T valueOf(String name)

其中,T 是枚举类型的名称,name 是枚举常量的名称(必须完全匹配,区分大小写)。

2. 使用示例

让我们看看如何使用 valueOf() 方法:

public class EnumExample {public static void main(String[] args) {// 获取枚举常量Day day = Day.valueOf("MONDAY");System.out.println("Selected day: " + day); // 输出: Selected day: MONDAY// 处理无效的输入try {Day invalidDay = Day.valueOf("FUNDAY"); // 这将抛出 IllegalArgumentException} catch (IllegalArgumentException e) {System.out.println("Error: " + e.getMessage()); // 输出: Error: No enum constant Day.FUNDAY}}
}

在上述代码中,我们成功获取了 MONDAY 枚举常量。如果尝试使用无效的常量名,如 FUNDAY,将会抛出 IllegalArgumentException

三、使用 Stream API 查找枚举对象

Java 8 引入的 Stream API 使得操作集合更加简单高效。对于枚举类型,我们可以使用 Stream API 来查找、过滤和处理枚举常量。

1. 使用 Stream 查找枚举对象

假设我们想要查找所有工作日(MONDAY 到 FRIDAY)的枚举常量,可以使用 Stream 来实现:

import java.util.Arrays;public class EnumStreamExample {public static void main(String[] args) {// 查找工作日Day[] workdays = Arrays.stream(Day.values()).filter(day -> day != Day.SATURDAY && day != Day.SUNDAY).toArray(Day[]::new);System.out.println("Workdays: " + Arrays.toString(workdays)); // 输出: Workdays: [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY]}
}

在这个例子中,我们使用 Day.values() 方法获取所有的枚举常量,然后通过 Stream 进行过滤,只保留工作日。

2. 使用 Stream 统计枚举对象

除了查找,我们还可以使用 Stream 来统计枚举对象的数量,例如计算一周中的天数:

public class EnumCountExample {public static void main(String[] args) {long totalDays = Arrays.stream(Day.values()).count();System.out.println("Total days in a week: " + totalDays); // 输出: Total days in a week: 7}
}

但是如果是枚举值的话,推荐还是使用 valueOf() 进行枚举查询(通常用)。

实际中的一个案例演示

    @Overridepublic WeaResult<Map<String, Object>> customAction(Map<String, Object> params) {EsbActionFlag esbActionFlag = Arrays.stream(EsbActionFlag.values()).filter(e -> e.name().equals(Optional.ofNullable(params.get("esbActionFlag")).map(Object::toString).orElse(null))).findFirst().orElse(null);Assert.notNull(esbActionFlag, SystemEnv.getHtmlLabelName(272064,"请确认动作流必传参数(esbActionFlag)是否传递正确"));return WeaResult.success(esbActionHandleBeanFactory.getEsbActionHandleBean(esbActionFlag).doAction(params));}

通过 valueOf() 方法直接简化成一行代码,如下:

    @Overridepublic WeaResult<Map<String, Object>> customAction(Map<String, Object> params) {EsbActionFlag esbActionFlag = EsbActionFlag.valueOf(String.valueOf(params.get("esbActionFlag")));Assert.notNull(esbActionFlag, SystemEnv.getHtmlLabelName(272064,"请确认动作流必传参数(esbActionFlag)是否传递正确"));return WeaResult.success(esbActionHandleBeanFactory.getEsbActionHandleBean(esbActionFlag).doAction(params));}

四、总结

在 Java 中,valueOf() 方法是用于从字符串获取对应枚举常量的便利工具,但在使用时需要确保输入字符串的正确性,以避免异常的发生。与此同时,借助 Java 8 的 Stream API,我们可以轻松地对枚举常量进行查询和处理,使得代码更加简洁与高效。

通过这些工具和方法,我们可以更好地利用枚举类型的优势,提升代码的可读性和可维护性。在实际开发中,理解和灵活运用这些特性将大大提高我们的工作效率。

推荐阅读文章

1、使用 Spring 框架构建 MVC 应用程序:初学者教程
2、有缺陷的 Java 代码:Java 开发人员最常犯的 10 大错误
3、如何理解应用 Java 多线程与并发编程?
4、Java Spring 中常用的 @PostConstruct 注解使用总结
5、线程 vs 虚拟线程:深入理解及区别
6、深度解读 JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
7、10大程序员提升代码优雅度的必杀技,瞬间让你成为团队宠儿!
8、“打破重复代码的魔咒:使用 Function 接口在 Java 8 中实现优雅重构!”
9、Java 中消除 If-else 技巧总结
10、线程池的核心参数配置(仅供参考)
11、【人工智能】聊聊Transformer,深度学习的一股清流(13)

12、Java 枚举的几个常用技巧,你可以试着用用

http://www.tj-hxxt.cn/news/6894.html

相关文章:

  • dw网站怎么做搜索网页怎么制作
  • 中国设计网站排行榜前十名全国疫情排行榜最新情况列表
  • 网站建设表格的属性市场营销网络
  • 做企业网站要不要我们自己提供网站相关的图片?百度的关键词优化
  • o2o网站建设新闻关键词排名监控
  • 做类似淘宝的网站搜索推广
  • 淘宝客网站建设教程竞价账户
  • asp.net动态的网站开发如何做seo优化
  • 深圳婚纱摄影网站建设免费网站模板库
  • 武汉高端婚纱摄影宁波seo企业推广
  • 兰州做高端网站的公司如何做好营销
  • 有没有做ppt很厉害的网站seo排名优化方式
  • 网站开发app小程序国内最好的搜索引擎
  • 给医院做网站赚钱吗seo教程免费分享
  • 网站建设软件开发it菜鸡网seo
  • 美国社交网络公司排名google移动服务应用优化
  • ps做网站的优点网络营销培训课程
  • 连云港网站建设公司预测2025年网络营销的发展
  • wordpress amazon重庆seo技术分享
  • 网站制作成app互联网营销课程体系
  • 广州市网站设计公司网站推广优化外链
  • 电影网站开发教程成都网站seo外包
  • 电子商务网站怎么做推广一个产品的市场营销策划方案
  • 网页设计结课论文青海seo关键词排名优化工具
  • 做旅游攻略的网站代码世界杯比分查询
  • 电气建设网站三十个知识点带你学党章
  • 做外贸网站怎么做广告公司推广渠道
  • 宜昌 网站建设2345网址导航官网官方电脑版
  • 织梦网站后台怎么登陆海外自媒体推广
  • 浙江省住房城乡建设厅官方网站如何进行网站的宣传和推广