栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jdk1.8 lamba表达式使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jdk1.8 lamba表达式使用


 // 1.8 赋空值的操作。
healthSystem.setOperatorName(Optional.ofNullable(adminManager.findOne(healthSystem.getOperatorId())).map(AdminBO::getUsername).orElse(""));

# 时间处理
healthSystem.setGmtDeleted(LocalDateTime.of(9999, 12, 31, 23, 59, 59));
healthSystem.setGmtCreated(LocalDateTime.now());

# 异常处理,空是ture 是false
Preconditions.checkArgument(healthSystemDO != null, "该健康制度不存在");
 错误提示 
 throw new ServiceException(ServiceErrorCode.ACCOUNT_DISABLES);
 
 
# list 循环 List orgIds  
  healthSystem.getOrgIds().forEach(orgId -> {
    HealthSystemOrgRelationBO healthSystemOrgRelationBO
     list对象取单个属性列表
    List phoneList = list.stream().map(HrPersonDTO::getPhone).collect(Collectors.toList());


# 枚举类型
 healthSystem.setIsDraft(IsDraftedEnum.NO.code());                
 
#事务处理
  @Override
    @Transactional(rollbackFor = Exception.class)
    public void publish(HealthSystemBO healthSystem){


# 默认属性设置
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@AllArgsConstructor 加个全参的构造方法
@Slf4j  日志logger
@Validated 类上添加后在具体的参数上添加校验,
    @AssertFalse 校验false
    @AssertTrue 校验true
    @DecimalMax(value=,inclusive=) 小于等于value,
    inclusive=true,是小于等于
    @DecimalMin(value=,inclusive=) 与上类似
    @Max(value=) 小于等于value
    @Min(value=) 大于等于value
    @NotNull  检查Null
    @Past  检查日期
    @Pattern(regex=,flag=)  正则
    @Size(min=, max=)  字符串,集合,map限制大小
    @Validate 对po实体类进行校验
    
    
// 设置列表操作 获取所有权限
List roleRelationList = adminRoleRelationMapper.listByUserId(userId);
List exitsIdList = roleRelationList.stream().map(AdminRoleRelationDO::getRoleId).collect(Collectors.toList());
List addIdList = roleIdList.stream().filter(roleId -> !exitsIdList.contains(roleId)).collect(Collectors.toList());
List delIdList = exitsIdList.stream().filter(roleId -> !roleIdList.contains(roleId)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(addIdList)) {
    addIdList.forEach(id -> {
        AdminRoleRelationDO addDO = new AdminRoleRelationDO();
        addDO.setId(idGenerator.deviationSnowflakeId());
        addDO.setAdminId(userId);
        addDO.setRoleId(id);
        addDO.setGmtCreated(LocalDateTime.now());
        addDO.setGmtModified(LocalDateTime.now());
        addDO.setIsDeleted(false);
        adminRoleRelationMapper.create(addDO);
    });
}
if (CollectionUtils.isNotEmpty(delIdList)) {
    List idList = roleRelationList.stream().filter(relation -> delIdList.contains(relation.getRoleId())).map(AdminRoleRelationDO::getId).collect(Collectors.toList());
    adminRoleRelationMapper.deleteByIds(idList);
}
        

// contains 和 containsAll区别
https://www.it610.com/article/1288345525191516160.htm
 contains:判断2集合是否全包含顺序也必须一样。
 contailsAll: 判断2集合第二个集合的所有元素是否在集合一中,有就true
        
        
        
        
        
        
        
        
        
        
        
        
        
        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号