Skip to content

介绍

Guava 是 Google 开源的一个 Java 核心库,提供了大量高效、实用的工具类和增强功能,而​Preconditions是 Guava 库中专门用于参数验证的工具类。

核心原则:​在数据进入核心逻辑前拦截非法输入,避免隐蔽的运行时错误。

Preconditions 的核心方法:

ts
checkArgument(boolean expression, String errorMessage)	验证布尔表达式是否为 true
checkNotNull(T reference, String errorMessage)	验证对象引用是否为 null
checkState(boolean expression, String errorMessage)	验证对象或方法的当前状态是否合法(如初始化前禁止调用)
checkElementIndex(int index, int size, String errorMessage)	验证索引是否在有效范围内
checkPositionIndex(int index, int size, String errorMessage)	验证位置是否在有效范围内

使用示例

1.引入pom依赖

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

2.调用Preconditions进行参数验证

ts
public void add(SubjectCategoryDTO subjectCategoryDTO) {

  //使用Preconditions进行参数验证            
    Preconditions.checkNotNull(subjectCategoryDTO.getCategoryType(), "分类类型不能为空");
    Preconditions.checkArgument(!StringUtils.isEmpty(subjectCategoryDTO.getCategoryName()), "分类名称不能为空");
    Preconditions.checkArgument(!StringUtils.isBlank(subjectCategoryDTO.getParentId()), "分类父级id不能为空");
}

上次更新于: