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

网站建设服务费的会计处理公司网站开发计划书

网站建设服务费的会计处理,公司网站开发计划书,如何建设一个新的网站,花都低价网站建设Optional使用详解 文章目录Optional使用详解1.构造函数2.Optional.of(T value)作用使用源码#xff08;只想知道怎么用的可以略过#xff09;Optional.ofNullable(T value)作用使用源码.orElse(T other)作用使用源码.orElseGet(Supplier? extends T other)作用使用源…Optional使用详解 文章目录Optional使用详解1.构造函数2.Optional.of(T value)作用使用源码只想知道怎么用的可以略过Optional.ofNullable(T value)作用使用源码.orElse(T other)作用使用源码.orElseGet(Supplier? extends T other)作用使用源码.map(Function? super T, ? extends U mapper)作用使用源码isPresent()作用使用源码ifPresent(Consumer? super T consumer)作用使用源码filter(Predicate? super T predicate)为了防止空指针报错NullPointerException一我们都会加上ifelse想让代码变得更优雅JAVA8提供了Optional类来优化这种写法1.构造函数 构造函数使用private修饰不能直接被外部访问没办法new出来Optional的本质就是内部储存了一个真实的值在构造的时候就直接判断其值是否为空。下面为源码 /*** Constructs an instance with the value present.** param value the non-null value to be present* throws NullPointerException if value is null*/private Optional(T value) {this.value Objects.requireNonNull(value);}//requireNonNull()方法public static T T requireNonNull(T obj) {//使用构造函数创建对象value为null则报空指针if (obj null)throw new NullPointerException();return obj;}2.Optional.of(T value) 一般推荐使用Optional.ofNullable(T value)在实际生产中很少使用of()方法因为使用of()方法value为null时会报出空指针。不过已有一些场景会用到比如一些需要空指针暴露的接口或测试类中。 作用 当value值为空时依然会报NullPointerException。当value值不为空时能正常构造Optional对象。 使用 //1.当 strnull报空指针 String str null; OptionalString str1 Optional.of(str);源码只想知道怎么用的可以略过 public static T OptionalT of(T value) {//构造函数创建对象return new Optional(value);}//构造函数private Optional(T value) {this.value Objects.requireNonNull(value);}//requireNonNull()方法public static T T requireNonNull(T obj) {//若传入的value为null则报空指针if (obj null)throw new NullPointerException();return obj;} Optional.ofNullable(T value) 与of(T value)最大的区别就是value可以为空推荐使用 作用 当value值为空时不会报空指针。当value值不为空时能正常构造Optional对象。 使用 String str null; //str为空时不会报空指针 OptionalString str2 Optional.ofNullable(str);源码 public static T OptionalT ofNullable(T value) {//value为null时执行empty()方法return value null ? empty() : of(value);}public staticT OptionalT empty() {SuppressWarnings(unchecked)//返回EMPTY对象OptionalT t (OptionalT) EMPTY;return t;}// EMPTY对象化就是new Optionalprivate static final Optional? EMPTY new Optional(); .orElse(T other) 作用 如果有值则将其返回否则返回指定的other对象。 传入的值为null时执行other并返回传入的值不为null时执行other返回传入的值 使用 执行以下代码控制台输出Hello被执行了可见传入的vaule不为null但是t.rousHello()依然执行。 public String rousHello() {System.out.println(Hello被执行了);return Hello!!!;} public static void main(String[] args) {test1 tnew test1();String s Optional.ofNullable(Str).orElse(t.rousHello());}源码 public T orElse(T other) {//value为ofNullable(T vaule)的valuevaule不为空返回balue否则执行otherreturn value ! null ? value : other;} .orElseGet(Supplier? extends T other) 比较推荐使用 作用 orElse()一定会被执行而orElseGet()只有传入的参数为null时才会被执行 只有传入的参数为null情况才才会执行orElseGet()内容 使用 public String rousHello() {System.out.println(Hello被执行了);return Hello!!!;} String s Optional.ofNullable(str).orElseGet(() - t.rousHello());源码 public T orElseGet(Supplier? extends T other) {return value ! null ? value : other.get();}.map(Function? super T, ? extends U mapper) 作用 不会返回空指针的获取对象属性 使用 //例如User中有个Address属性Address对象中有详细地址 public String getCity(User user) throws Exception{return Optional.ofNullable(user).map(u- u.getAddress()).map(a-a.getCity()).orElseThrow(()-new Exception(获取用户地址失败)); }源码 publicU OptionalU map(Function? super T, ? extends U mapper) {//1.为空则报空指针错误前面讲过Objects.requireNonNull(mapper);//不存在返回EMPTY对象前面讲过if (!isPresent())return empty();else {return Optional.ofNullable(mapper.apply(value));}}//requireNonNull()方法public static T T requireNonNull(T obj) {//若传入的value为null则报空指针if (obj null)throw new NullPointerException();return obj;}isPresent() 作用 判断是否存在.不存在返回false存在返回true 使用 boolean present Optional.ofNullable(user).isPresent();源码 源码很容易理解直接判断value是否!null public boolean isPresent() {return value ! null;}ifPresent(Consumer? super T consumer) 作用 如果存在则往下走 使用 //如果user存在则覆盖user的age和name属性 Optional.ofNullable(user).ifPresent(u-{u.setAge(100);u.setName(ifPresent);});源码 public void ifPresent(Consumer? super T consumer) {if (value ! null)consumer.accept(value);}filter(Predicate? super T predicate) 作用 如果值存在并且这个值匹配给定的 predicate返回一个Optional用以描述这个值否则返回一个空的Optional。 使用 user.setName(张四);//此处会报空指针因为get()方法在value为null的情况下会报空指针User user1 Optional.ofNullable(user).filter(u - u.getName() 张三).get();OptionalUser user2 Optional.ofNullable(user).filter(u - u.getName() 张三);user2.ifPresent(u-u.setAge(99));源码 public OptionalT filter(Predicate? super T predicate) {Objects.requireNonNull(predicate);if (!isPresent())return this;elsereturn predicate.test(value) ? this : empty();}
http://www.hkea.cn/news/14410703/

相关文章:

  • 深圳企业公司网站建设平台wordpress自动锚文本
  • 网站后台密码怎么改休闲吧网站建设
  • 工商注册在哪个网站长沙网站设计我选刻
  • 余姚企业网站建设公司wordpress自定义登录界面
  • 网站欢迎页面在线设计公众号开发神器
  • 深圳龙华区发达吗常州百度关键词优化
  • 淄博周村专业网站建设公司智慧团建官网登录口
  • 创新的品牌网站建设赣州酷学网络科技有限公司
  • wamp 网站开发首先做什么外国好的设计网站大全
  • 网站搜索引擎优化的内容廊坊网站建设策划
  • 梧州网站建设设计深圳百度推广关键词推广
  • 网站编辑岗位eclipse网站建设
  • 风格网站wordpress建站的教程
  • 中国电力建设集团股份有限公司网站网站建设与制作教程
  • 网站选设计公司做网站需要学会什么软件
  • 如何做漂亮的网站删除wordpress媒体库多余
  • 现在可以用的网站广州市建设集团网站首页
  • 建设工程主管部门网站番禺做网站企业
  • win7做网站服务器卡做商业网站是否要备案
  • 网站开发技术代码百变模板手机网站建设
  • 高校廉洁文化建设网站海南的网站建设公司哪家好
  • 网站建设一般都需要什么资质网站内容多 询盘
  • 关于港口码头发展建设的网站应用开发工程师干什么
  • 网站建设问卷调查视频网站 界面设计
  • 手机网站制作移动高端网站建设个人网站整站下载
  • .mom域名可以做网站吗管理咨询公司起名
  • 网站打开的速度很慢应该怎么做上海关键词优化软件
  • 国际贸易网站大全wordpress带整站数据
  • 专业服务网站开发装修3d效果图怎么制作
  • 网络网站关键词品牌注册号是哪个