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

怎么在百度上做自己的网站苏州建站公司哪个好

怎么在百度上做自己的网站,苏州建站公司哪个好,数据推广平台有哪些,广州做网站多少文章目录 1. Optional简介2. 常用的接口2.1 常用接口简单使用2.1.1 创建的常用方法2.1.2 获取值的常用方法2.1.3 判定的常用方法2.1.4 判定后的操作方法2.2 map方法介绍 2.2 其他方法2.2.1 Filter 方法2.2.2 FlatMap 方法 3. 常用的实例4. 总结 1. Optional简介 Optional是在ja… 文章目录 1. Optional简介2. 常用的接口2.1 常用接口简单使用2.1.1 创建的常用方法2.1.2 获取值的常用方法2.1.3 判定的常用方法2.1.4 判定后的操作方法2.2 map方法介绍 2.2 其他方法2.2.1 Filter 方法2.2.2 FlatMap 方法 3. 常用的实例4. 总结 1. Optional简介 Optional是在java8中引入的一个新的类主要解决的问题就是空指针异常NullPointerException 原文的翻译(百度翻译,本人英文短板)一个容器对象它可能包含也可能不包含非null值。如果存在值isPresent将返回true。如果没有值则该对象被认为是空的isPresent返回false。 提供了取决于所包含值是否存在的其他方法如orElse如果不存在值则返回默认值和ifPresent当存在值时执行操作。 这是一个基于价值的类程序员应该将相等的实例视为可互换的不应该使用实例进行同步否则可能会发生不可预测的行为。例如在将来的版本中同步可能会失败。 这里我理解的核心作用就是可以通过 isPresent() 方法来辅助对对象判空然后通过 map(), orElse() ifPresent() 等方法的结合使用大大的缩减代码中冗长的if判断。 2. 常用的接口 先介绍一下常用所有的接口 注意1. 此列表是列出了本人觉得有意义的接口不是全部。2. 当前jdk版本为17,其他版本可能会没有一些方法例如or() 方法在jdk1.9中增加的接口名称简要作用描述OptionalT empty()构建一个空的Optional 对象OptionalT of(T value)构建一个非空的Optional 对象,如果为空则报错OptionalT ofNullable(T value)构建一个Optional 对象允许为空T get()获取一个泛型的对象值如果值为空则报错boolean isPresent()判空如果不为null 则为 trueboolean isEmpty()判空如果为null 则为 trueifPresent(Consumer)传递一个接口函数对当数据不为空的时候执行这个函数ifPresentOrElse(Consumer, Runnable)两个参数, 第一个是不为空的时候执行的第二个是为空的时候执行的。都是接口函数。OptionalT filter对对象的一个过滤OptionalU map(Function)转换方法OptionalU flatMap(Function转换方法常用与多层转换一层OptionalT or(Supplier)当得到对象为空的时候根据接口函数创建一个新的Optional对象T orElse(T)当得到对象为空的时候获取一个指定泛型对象T orElseThrow()不为空 返回对象为空 则NoSuchElementExceptionT orElseThrow(Supplier)不为空 返回对象为空 则指定异常 2.1 常用接口简单使用 下面是常用接口的一些简单的演示2.1.1 创建的常用方法 // 1. 构建一个空的 Optional 对象没有任何问题 OptionalObject empty Optional.empty();// 2. 构建一个非空的 Optional 对象没有任何问题OptionalObject aa Optional.of(123);// 3. 构建一个空的 Optional 对象直接报错 会报错 of不允许为空OptionalObject bb Optional.of(null);// 4. 构建一个空的 Optional 对象没有任何问题OptionalObject cc Optional.ofNullable(null);// 5. 构建一个非空的 Optional 对象没有任何问题OptionalObject dd Optional.ofNullable(123); 2.1.2 获取值的常用方法 OptionalObject cc Optional.ofNullable(null); // 1. 如果为空的时候获取值就会直接报错 Object o cc.get(); // 2. 如果对象为空则获取 or 中的 get 方法的值否则则获取cc的 get 方法中的值 Object o1 cc.or(() - Optional.ofNullable(123)).get(); // 3. 如果对象为空则直接获取的是 123, orElse()中的参数是非空的。 如果对象不为空则直接获取到对象的值 Object o2 cc.orElse(123); // 4. 如果对象为空则获取 or 中的 get 方法的值否则则获取cc的 get 方法中的值 Object o3 cc.orElseGet(() - Optional.ofNullable(123)); 2.1.3 判定的常用方法 OptionalObject cc Optional.ofNullable(null); // 1. 存在则返回true boolean present cc.isPresent(); // 2. 为null返回true boolean empty cc.isEmpty();2.1.4 判定后的操作方法 OptionalObject cc Optional.ofNullable(null); // 1. 如果对象不为空则执行方法体的内容否则没有任何操作 cc.ifPresent(item-{System.out.println(不为空则执行我item); });// 2. 如果对象不为空则执行方法体的内容否则没有任何操作 cc.ifPresentOrElse(item-{System.out.println(不为空则执行我item); },()-{System.out.println(为空则执行我); }); 2.2 map方法介绍 map 方法的使用跟 Stream 中的map方法一样我的理解这里面的所有的接口方法与 Stream 中重名的用法都是一样的Data public static class User{private String name;private Integer age; } Test void getMapTest(){User user new User();user.setName(123);OptionalUser optionalUser Optional.of(user);// 1. 直接获取 user 对象的 name 的值这里 map 是当用户不为空的时候执行的OptionalString name optionalUser.map(User::getName);System.out.println(name.isEmpty()); // 输出 falseOptionalUser optionalUser2 Optional.ofNullable(null);// 2. 直接获取 user 对象的 name 的值这里 map 是当用户不为空的时候执行的OptionalString name2 optionalUser2.map(User::getName);System.out.println(name2.isEmpty()); // 输出 true } 2.2 其他方法 其他方法 2.2.1 Filter 方法 filter 此方法为的是过滤OptionalPath p uris. stream().filter(uri - !isProcessedYet(uri)).findFirst() .map(Paths::get); 我这里基本上没有用过感觉是没有使用场景的。 2.2.2 FlatMap 方法 flatMap: 此方法我理解是拆箱转换 例如把 StreamOptionalT 转换为 OptionalT StreamOptionalT os .... StreamT s os.flatMap(Optional::stream)3. 常用的实例 TODO 这里后面再不吧暂时也没有太合适的例子4. 总结 Optional 是java8中引入的它提供了一种更优雅和安全的方式来处理可能为空的值。主要通过 or ,orElse , ifPresent 等函数式方法来优雅的判空以及非空后的执行操作这里可以减少多层的 if 判断使代码变的优雅但是弊端使用 函数式 方法会降低代码的可读性。并且还需要对 Lambda 有一定的了解才行。
http://www.hkea.cn/news/14461421/

相关文章:

  • joomla 网站图标ftp制作网站
  • 网站开发所需经费网页设计实训报告总结200字
  • 陕西建设人才网站商城网站建设需要什么团队
  • 商城网站里可以再放cms吗网站建设交接表
  • html5 手机网站模板网站开发按前端后端分解
  • 宜春网站开发公司用手机设计装修的软件
  • 网站技术解决杭州网站建设那家好
  • 做电影网站资源哪里来的wordpress打开媒体链接设置
  • 自做网站宁德小程序开发
  • 重庆专业网站推广报价中国建设招聘信息网站
  • 有声小说网站开发顺企网我做网站
  • 自己建设购物网站wordpress微信公众号关注
  • 做彩票网站推广犯法吗周口seo优化
  • 静态网站制作流程生成二维码的小程序
  • 网站方案策划包头网站建设SEO优化制作设计公司
  • 印尼请人做网站长沙网站seo费用
  • 有没有一个网站做黄油视频网址申请注册方法
  • 自学考试 网页制作与网站建设06627网站收缩引擎入口
  • 平面设计与网站开发的概述大型网站建设费用
  • 检察门户网站建设学校网站模板
  • 域名和主机搭建好了怎么做网站建设一个公司网站 需要钱吗
  • 上海医疗网站备案农产品网站开发
  • asp网站建设教程成都到西安高铁多少钱
  • 做网站编辑需要具备的素质交换链接案例
  • 抚州建设网站的公司深圳市住房和建设局官网站首页
  • 建设人才服务信息网国家网站么梧州论坛蒙山
  • 做网站怎么开发客户网站平台管理
  • 大连网站制作公司费用多少wordpress 正在跳转中 请稍等
  • 人物摄影网站wordpress模板优劣
  • 网站名称创意大全织梦网站模板视频