Java中使用Preconditions来检查传入参数介绍

本文只是简单的介绍Java中使用Preconditions来检查传入参介绍,需要的朋友可以参考

 添加依赖:

 <dependency>
     <groupId>com.google.guava</groupId>
     <artifactId>guava</artifactId>
     <version>19.0</version>
 </dependency>

Preconditions是Guava中的一个类库,用于检查传入参数,一个常见用法如下:

 Preconditions.checkArgument(!ObjectUtils.isEmpty(queryAccountRequest), "入参缺失");

 当判断参数为空时,抛出异常

public static void checkArgument(boolean expression, @Nullable Object errorMessage) {
        if(!expression) {
            throw new IllegalArgumentException(String.valueOf(errorMessage));
        }
    }

 补充:

翻开Preconditions的源码,我们看到,guava进行了大量方法的重载,组成了Preconditions工具类,下面我们先简单的了解一下,所有的14个静态方法,如下:

1.checkArgument(boolean expression):用来校验表达式是否为真,一般用作方法中校验参数

2.checkArgument(boolean expression, @Nullable Object errorMessage):校验表达式是否为真,不为真时显示指定的错误信息。

3.checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs):校验表达式是否为真,不为真时显示错误信息,错误信息中允许使用占位符。

4.checkState(boolean expression):校验表达式是否为真,一般用作校验方法返回是否为真。

5.checkState(boolean expression, @Nullable Object errorMessage):当表达式为假的时候,显示指定的错误信息。

6.checkState(boolean expression,@Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允许在错误信息中使用占位符。

7.checkNotNull(T reference):校验对象是否为空。

8.checkNotNull(T reference, @Nullable Object errorMessage):对象为空时显示指定的错误信息。

9.checkNotNull(T reference, @Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允许在错误信息中使用占位符。

10.checkElementIndex( int index, int size, @Nullable String desc):校验元素的索引值是否有效,index大于等于0小于size,在无效时显示错误描述信息。

11.checkElementIndex(int index, int size):错误描述信息为“index”

12.checkPositionIndex(int index, int size, @Nullable String desc):校验元素的索引值是否有效,index大于等于0小于等于size,在无效时显示错误描述信息。

13.checkPositionIndex(int index, int size):错误描述信息为“index”

14.checkPositionIndexes(int start, int end, int size):校验大于等于start,小于end的list的长度是否为size。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值