JAVA学习-笔记06-NPE

断言
Assert.notNull(t, "entity不能为空");

字符串比较,常量放在前面
SUCCESS.equals(status)

已知对象放前
"B".equals(userType)


初始化默认值
Uses uses = new Uses;
String name = StringUtils.EMPTY;

Optional
//以前的判空
String isocode = user.getAddress().getCountry().getIsocode().toUpperCase();
if (user != null) {
    Address address = user.getAddress();
    if (address != null) {
        Country country = address.getCountry();
        if (country != null) {
            String isocode = country.getIsocode();
            if (isocode != null) {
                isocode = isocode.toUpperCase();
            }
        }
    }
}
//Optional判空 
String result = Optional.ofNullable(user).flatMap(User::getAddress).flatMap(Address::getCountry).map(Country::getIsocode).orElse("default");

valueOf()与toString()返回相同结果时,使用前者
String s = null;
String.valueOf(s);

使用工具类StringUtils,包括对null对象的判断
System.out.println(StringUtils.isEmpty(null)); //true
System.out.println(StringUtils.isBlank(null)); //true
System.out.println(StringUtils.isNumeric(null)); //false
System.out.println(StringUtils.isAllUpperCase(null)); //false

集合赋默认值
List list = Lists.newArrayList();

先创建空集合
Map emptyMap = Collections.EMPTY_MAP;
Set emptySet = Collections.EMPTY_SET;
List emptyList = Collections.EMPTY_LIST;

集合正确判空方式
CollectionUtils.isEmpty(list);

使用注解
@NotNull : 用在基本类 型上 不能为null 但可以为空字符串
@NotEmpty : 用在集合类上 不能为空 并且长度必须大于0
@NotBlank : 只能作用在String上,不能为null,而且调用trim()后,长度必须大于0
@NonNull:在方法或构造函数的参数上使用,生成一个空值检查语句
@Nullable 表示定义的参数可以为空.
class User {

    @NotNull
    private Integer id;
    
    @NotBlank
    private String name;
    
}

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值