Guava学习--------Preconditions

PreConditions(先决条件)
  • checkArgument(boolean expression, [String errorMsgTemplate], [String errorMsgArgs]):expression如果为false,则抛出IllegalArgumentException异常,并输出错误消息

    Preconditions.checkArgument(1 > 2); // throw IllegalArgumentException
    
    Preconditions.checkArgument(1 > 2, "1 lower than 2"); // throw IllegalArgumentException: 1 lower than 2
    
    Preconditions.checkArgument(1 > 2, "%s lower than %s", 1, 2); // throw IllegalArgumentException: 1 lower than 2
  • T checkNotNul (T ref):如果ref为null,则抛出NullPointerException;否则返回ref的引用(该方法的其他几种重载可以自定义输出错误消息)

    String s1 = Preconditions.checkNotNull("1");
    s1; // 1
    String s2 = Preconditions.checkNotNull(null);// throw NullPointerException
  • void checkState (boolean expression):用法与checkArgument相同,只不过抛出的是IllegalStateException异常

  • int checkElementIndex (int index, int size):检查索引是否在[0, size)之间,不在则抛出IndexOutOfBoundsException异常

    Preconditions.checkElementIndex(3, 3);
    // throw IndexOutOfBoundsException: index (3) must be less than size (3)
  • int checkPositionIndex (int index, int size):检查索引是否在[0, size]之间,不在则抛出IndexOutOfBoundsException异常

  • void checkPositionIndexes (int start, int end, int size):检查[start, end)是否在[0, size]之间,不在则抛出IndexOutOfBoundsException异常

  • 使用优点:

    1. 语义明确
    2. 抛出的异常明确
    3. 可以自定义错误消息的格式
    4. 由于方法在校验后返回了参数本身,所以可以在写在一行里,简化代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值