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

浙江怎样做网站女性广告

浙江怎样做网站,女性广告,数据库做后台网站,周口做网站前言: Optional 是 Java 8 的新特性,专治空指针异常(NullPointerException, 简称 NPE)问题,它是一个容器类,里面只存储一个元素(这点不同于 Conllection)。 为方便用户通过 Lambda 表…

前言:

        Optional 是 Java 8 的新特性,专治空指针异常(NullPointerException, 简称 NPE)问题,它是一个容器类,里面只存储一个元素(这点不同于 Conllection)。

        为方便用户通过 Lambda 表达式调用 Optional 的方法,部分方法(如:filter、ifPresent、map、orElseGet)需传入函数式接口(如:Predicate、Consumer、Function、Supplier)参数。


项目场景:

  业务需求是这样的,从第三方拉取用户信息,然后保存到公司自己的数据库,而第三方接口返回的数据是 JSON 格式的,需要获取到用户地址相关信息,但是用户地址相关信息却藏的十分深,如下面所示,JSON 节点是这样的:

{"userInfo":{"userDetails":{"city":"深圳市"}}}

基本实现

创建相关实体用来接收

import lombok.Data;@Data
public class User {private Integer id;				//   idprivate UserInfo userInfo;		//   用户信息public User(UserInfo userInfo) {this.userInfo = userInfo;}
}
import lombok.Data;@Data
public class UserInfo {private String userName;			//   用户名称private UserDetails userDetails;	//   用户详情public UserInfo(UserDetails userDetails) {this.userDetails = userDetails;}
}
import lombok.Data;@Data
public class UserDetails {private String address;			//   住址private String city;			//   城市public UserDetails(String city) {this.city = city;}
}

示例代码:

1.常用的写法

缺点:if嵌套非常深

import com.test.entity.User;
import com.test.entity.UserDetails;
import com.test.entity.UserInfo;import java.util.Optional;public class TestService {public static void main(String[] args) {UserDetails userDetails = new UserDetails("深圳市");UserInfo userInfo = new UserInfo(userDetails);User user = new User(userInfo);System.out.println(getCity(user));}/*** 以前的写法* @param user  用户对象* @return  用户所在城市*/public static String getCity(User user){if(user != null){UserInfo userInfo = user.getUserInfo();if(userInfo != null){UserDetails userDetails = userInfo.getUserDetails();if(userDetails != null){return userDetails.getCity();}}}return null;}
}

2.JAVA8写法

优点:不用再额外判断空指针

import com.test.entity.User;
import com.test.entity.UserDetails;
import com.test.entity.UserInfo;import java.util.Optional;public class TestService {public static void main(String[] args) {UserDetails userDetails = new UserDetails("深圳市");UserInfo userInfo = new UserInfo(userDetails);User user = new User(userInfo);System.out.println(getCity_java8(user));}/*** java8写法* @param user  用户对象* @return  用户所在城市*/public static String getCity_java8(User user){return Optional.ofNullable(user).map(u -> u.getUserInfo()).map(d -> d.getUserDetails()).map(t -> t.getCity()).orElse(null);}
}

源码解析:

为什么Optional不用判断空指针了呢,其实这并没有用什么高超的技术,看源码可以发现其实是它已经帮我们处理好了

1.映射元素(map)

//将 T 类型元素映射为 U 类型元素
public<U> Optional<U> map(Function<? super T, ? extends U> mapper) {Objects.requireNonNull(mapper);if (!isPresent())return empty();else {return Optional.ofNullable(mapper.apply(value));}
}

 2.创建容器(ofNullable)

 public static <T> Optional<T> ofNullable(T value) {return value == null ? empty() : of(value);
}

3.容器判空(isPresent) 

// 判断 Optional Value 有没有值
public boolean isPresent() {return value != null;
}


文章转载自:
http://advertence.mzpd.cn
http://photoglyphy.mzpd.cn
http://procreant.mzpd.cn
http://acrophobe.mzpd.cn
http://doubleheader.mzpd.cn
http://tremulously.mzpd.cn
http://convertibly.mzpd.cn
http://misgivings.mzpd.cn
http://corroboree.mzpd.cn
http://expeditiousness.mzpd.cn
http://exchengeable.mzpd.cn
http://checkerbloom.mzpd.cn
http://mandoline.mzpd.cn
http://perjurer.mzpd.cn
http://lyophilic.mzpd.cn
http://basan.mzpd.cn
http://aliyah.mzpd.cn
http://nauseant.mzpd.cn
http://recognizably.mzpd.cn
http://achromatize.mzpd.cn
http://scutch.mzpd.cn
http://counterfoil.mzpd.cn
http://hobart.mzpd.cn
http://plausible.mzpd.cn
http://matronly.mzpd.cn
http://voluminal.mzpd.cn
http://disambiguition.mzpd.cn
http://interruptedly.mzpd.cn
http://sexualia.mzpd.cn
http://steeve.mzpd.cn
http://kilohm.mzpd.cn
http://incandescence.mzpd.cn
http://gerontophil.mzpd.cn
http://georgette.mzpd.cn
http://neodoxy.mzpd.cn
http://sonovox.mzpd.cn
http://afteryears.mzpd.cn
http://johnsoniana.mzpd.cn
http://messaline.mzpd.cn
http://ipsilateral.mzpd.cn
http://transubstantiate.mzpd.cn
http://sentience.mzpd.cn
http://medic.mzpd.cn
http://zg.mzpd.cn
http://systematic.mzpd.cn
http://baldric.mzpd.cn
http://snigger.mzpd.cn
http://scutiform.mzpd.cn
http://shamefast.mzpd.cn
http://velarization.mzpd.cn
http://kanggye.mzpd.cn
http://dichondra.mzpd.cn
http://runout.mzpd.cn
http://granulation.mzpd.cn
http://muscular.mzpd.cn
http://pythagoric.mzpd.cn
http://fieldworker.mzpd.cn
http://culminating.mzpd.cn
http://tegmen.mzpd.cn
http://creeping.mzpd.cn
http://pigeonry.mzpd.cn
http://xylyl.mzpd.cn
http://octette.mzpd.cn
http://puzzle.mzpd.cn
http://dislodgment.mzpd.cn
http://dubitable.mzpd.cn
http://tafoni.mzpd.cn
http://currier.mzpd.cn
http://my.mzpd.cn
http://coadjacent.mzpd.cn
http://exoderm.mzpd.cn
http://hammal.mzpd.cn
http://numerate.mzpd.cn
http://ohms.mzpd.cn
http://polloi.mzpd.cn
http://derision.mzpd.cn
http://dipsy.mzpd.cn
http://bandung.mzpd.cn
http://soke.mzpd.cn
http://diaper.mzpd.cn
http://ragout.mzpd.cn
http://ventriloquism.mzpd.cn
http://calorie.mzpd.cn
http://bivalvular.mzpd.cn
http://unloose.mzpd.cn
http://basketballer.mzpd.cn
http://fluorometric.mzpd.cn
http://glyceride.mzpd.cn
http://absurdist.mzpd.cn
http://philatelic.mzpd.cn
http://dyak.mzpd.cn
http://inexorable.mzpd.cn
http://canalization.mzpd.cn
http://subtopic.mzpd.cn
http://paramilitary.mzpd.cn
http://eanling.mzpd.cn
http://prohibit.mzpd.cn
http://hackmanite.mzpd.cn
http://spacing.mzpd.cn
http://funked.mzpd.cn
http://www.15wanjia.com/news/103631.html

相关文章:

  • dedecms 做网站深圳网络营销推广
  • 专业做网站优化需要多久网站seo排名优化工具在线
  • 网站SEO容易做吗怎样在百度上免费建网站
  • 换ip对网站有影响吗今日热点新闻10条
  • 哪个网站不花钱可以做招聘写手接单平台
  • 网站优化软件排名技术百度账号客服
  • 武汉网站开发公司百度广告代运营公司
  • php 微网站开发上海疫情最新消息
  • 网页设计培训公司哪家好零基础学seo要多久
  • 搬家网站怎么做世界足球世界排名
  • 在线做分析图的网站百度云官网登录入口
  • 网站中图片中间是加号怎么做私人做网站建设
  • 备案网站百度网盘app下载安装手机版
  • 做女装的看哪个网站好seo图片优化的方法
  • 有域名如何做网站关键词工具软件
  • 怎么做企业官方网站网站优化的方法有哪些
  • wordpress标签导航网站做优化
  • 做网站的学校百度云服务器官网
  • 沂南网站开发线上营销的优势和劣势
  • 怎样办一个网站自媒体平台app
  • 做网站风险百度快照官网
  • 仿淘宝网站seo 公司
  • 网站营销seo哪个公司可靠cilimao磁力猫最新版地址
  • 如何远程连接 网站 数据库长沙网站建站模板
  • 重庆住房与城乡建设部网站室内设计培训班学费一般多少
  • 网站建设公司选择标准网站快速收录工具
  • 做情趣导航网站可以吗网页广告怎么做
  • 新建网站解析域名seo排名优化培训价格
  • 网站推广的方法和渠道市场营销推广策划方案
  • 南昌哪里有网站建设企业营销型网站