概述
Listmembers=newtermTeamMemberDao.queryTeamMember(teamNo);
ListuserIds=members.stream().map(m->m.getTeacherId()).collect(Collectors.toList());
JDK引入了Optional,有时候代码有点难理解,如:
Optional.ofNullable(service.method()).map(Object::objMethod).orElse(0);
这句的意思是:
1.先执行service.method(),返回的对象经过Optional类包装成为Optional对象。看下ofNullable源码:
public static Optional ofNullable(T value) {
return value == null ? empty() : of(value);
}
public static Optional empty() {
@SuppressWarnings("unchecked")
Optional t = (Optional) EMPTY;
return t;
}
public static Optional of(T value) {
return new Optional<>(value);
}2.调用Optional对象的map方法,源码:
public Optional map(Function super T, ? extends U> mapper) {
Objects.requireNonNull(mapper);
if (!isPresent())
return empty();
else {
return Optional.ofNullable(mapper.apply(value));
}
}就是对Optional对象里存的value对象调用一下传入的方法。
3.orElse就是返回到业务代码时,取一个值,源码:
public T orElse(T other) {
return value != null ? value : other;
}从上面可以看出Optional主要用于处理null的情况,怎么处理?就是把null转为一个值。所以基本用法就是先调ofNullable转成Optional再调orElse返回一个值。单从处理空值的情况看感觉还不如:if(rstObj==null) rstObj=0 这样简单呢。
最后
以上就是淡定戒指为你收集整理的java类的组成元素_jdk8 取集合中对象元素组成新的集合的全部内容,希望文章能够帮你解决java类的组成元素_jdk8 取集合中对象元素组成新的集合所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复