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

网站建设产品邯郸住房和城乡建设局网站

网站建设产品,邯郸住房和城乡建设局网站,怎样建一个自己公司的网站,网页设计的规格引言 在Java开发的世界里#xff0c;空指针异常#xff08;NullPointerException#xff09;一直是让无数程序员头疼的问题之一。它不仅打断了程序的正常执行流程#xff0c;还可能隐藏在复杂的业务逻辑之中#xff0c;难以定位。自Java 8起#xff0c;一个新的类——Op…引言 在Java开发的世界里空指针异常NullPointerException一直是让无数程序员头疼的问题之一。它不仅打断了程序的正常执行流程还可能隐藏在复杂的业务逻辑之中难以定位。自Java 8起一个新的类——Optional悄然登场它以其独特的魅力逐渐成为了处理可能为null的对象的强大工具。本文将带你深入了解Optional类从其基本使用到实战案例帮助你更优雅地编写Java代码。 基础语法介绍 什么是Optional Optional是一个容器对象用于封装可能为null的值。当一个方法声明返回OptionalT时它明确表示该方法可能会返回一个非null值或完全为空。这种设计模式有助于减少空指针异常的风险并鼓励更好的编程实践。 创建Optional实例 创建Optional实例有多种方式 使用值创建: OptionalString optional Optional.of(Hello);允许null值: OptionalString optional Optional.ofNullable(null);不允许null值: OptionalString optional Optional.of(Hello); // 如果传入null则抛出NullPointerException基本操作 Optional提供了丰富的API来操作其内部的值 判断是否包含值: boolean isPresent optional.isPresent();安全获取值: String value optional.orElse(Default Value);执行操作: optional.ifPresent(System.out::println);基础实例 下面通过一个简单的例子来演示如何使用Optional来避免空指针异常 public class OptionalExample {public static void main(String[] args) {String name null;OptionalString optionalName Optional.ofNullable(name);// 使用orElse获取值如果optionalName为空则返回UnknownString result optionalName.orElse(Unknown);System.out.println(result); // 输出 Unknown} }进阶实例 在实际项目中我们常常会遇到需要对多个可能为null的对象进行操作的情况。这时候Optional的链式调用就显得尤为重要。 示例 假设有一个用户信息类UserInfo其中包含用户的姓名、年龄和地址等信息。我们需要根据用户的地址来获取所在城市的名称。这里我们可以使用Optional来简化这一过程 public class UserInfo {private String name;private Integer age;private Address address;// 省略构造函数和getter/setter }public class Address {private String city;// 省略构造函数和getter/setter }public class OptionalChainExample {public static void main(String[] args) {UserInfo userInfo new UserInfo();userInfo.setName(张三);userInfo.setAge(25);userInfo.setAddress(null);String cityName Optional.ofNullable(userInfo.getAddress()).flatMap(Address::getCity).orElse(未知城市);System.out.println(cityName); // 输出 未知城市} }在这个例子中我们首先通过Optional.ofNullable获取userInfo.getAddress()的结果。由于address字段为null因此getCity()方法返回的OptionalString也是空的。最后通过orElse方法返回默认值“未知城市”。 实战案例 问题描述 在电商系统中商品详情页面需要展示商品的价格、库存数量以及优惠活动信息。这些信息可能来自不同的数据源其中任何一项都可能存在为空的情况。为了保证页面加载速度我们需要优雅地处理这些潜在的空值。 解决方案 利用Optional可以有效地解决这个问题。我们可以通过链式调用来获取所有必要的信息并为每个字段提供默认值。 代码实现 public class ProductInfo {private Double price;private Integer stockQuantity;private Promotion promotion;// 省略构造函数和getter/setter }public class Promotion {private Double discount;// 省略构造函数和getter/setter }public class ProductDetailsExample {public static void main(String[] args) {ProductInfo productInfo new ProductInfo();productInfo.setPrice(199.99);productInfo.setStockQuantity(null);productInfo.setPromotion(null);double finalPrice Optional.ofNullable(productInfo.getPrice()).orElse(0.0).subtract(Optional.ofNullable(productInfo.getPromotion()).map(Promotion::getDiscount).orElse(0.0));int stock Optional.ofNullable(productInfo.getStockQuantity()).orElse(0);System.out.println(最终价格: finalPrice);System.out.println(库存: stock);} }扩展讨论 与流Stream结合使用 Optional不仅可以单独使用还可以与Java 8引入的流StreamAPI结合起来实现更强大的功能。例如在处理集合时我们可以通过流来获取集合中的第一个元素并将其包装成Optional对象。 ListString names Arrays.asList(Alice, Bob, Charlie); OptionalString first names.stream().findFirst();first.ifPresent(System.out::println); // 输出 Alice性能考量 虽然Optional能够帮助我们写出更优雅的代码但在性能敏感的场景下过度使用Optional可能会导致额外的开销。因此在设计时需要权衡其带来的好处与潜在的成本。
http://www.hkea.cn/news/14431742/

相关文章:

  • wordpress整站数据免费网页制作网站
  • 企业网站seo成功案例帮别人做网站的公司
  • 郑州做品牌网站的公司房地产设计部岗位职责
  • 医院门户网站建设方案装修公司网站建设的意义
  • 外贸网站用什么语言沈阳网站推广运营公司
  • 网站建设单位不给数据库邯郸信息港官网登录
  • 众筹网站建设 网站定制开发wordpress创意小工具
  • 美辰网站建设龙岗网站建设代理商
  • 淄博网络长沙百度推广优化排名
  • 设计大师网站我在海贼开发app免费
  • 提高网站浏览量惠州网站建设兼职
  • 把网站放到服务器上微信公众平台模板制作
  • 环保公司网站模版西部数码装wordpress
  • 苏州做网站好的公司网站建设的安全措施
  • 网站建设神器国外做兼职网站有哪些
  • 甘肃seo网站ui设计技术培训培训班
  • 淮南企业网站建设庄浪县门户网
  • 做网站没资源手机手机网站开发
  • 网站开发要学习路线餐饮官网建站模板
  • 可以免费做网站网站设计制作哪个公司的好
  • 物联网网站开发a5做网站
  • 郑州建设网站哪家好杭州的网站建设公司有哪些
  • 网站建设新手指南小程序开发注意事项
  • 为什么要创建网站珠海企业网站建设服务
  • 网站要做手机版怎么做的黄冈做学生互评的网站
  • php网站开发开发实例教程手机网站建设公司排名
  • 网站如何做标题优化网店装修教程免费模板
  • 昆明网站建设锐网海外跨境电商平台排行榜前十名
  • 阿里巴巴网站推广方式wordpress主题修改ftp
  • 数码产品在哪里做网站网站要放备案号吗