博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
impala里面断言的用法
阅读量:5980 次
发布时间:2019-06-20

本文共 1048 字,大约阅读时间需要 3 分钟。

hot3.png

impala里面断言使用了google的guava库Preconditions类,老外写代码这么喜欢断言吗,不过代码简洁优雅多了,不用那么多if else判断了。

Preconditions里面的方法:

  1 .checkArgument(boolean) :

  功能描述:检查boolean是否为真。 用作方法中检查参数
  失败时抛出的异常类型: IllegalArgumentException

  2.checkNotNull(T):     

  功能描述:检查value不为null, 直接返回value;
  失败时抛出的异常类型:NullPointerException
  3.checkState(boolean):
  功能描述:检查对象的一些状态,不依赖方法参数。 例如, Iterator可以用来next是否在remove之前被调用。
  失败时抛出的异常类型:IllegalStateException
  4.checkElementIndex(int index, int size):
  功能描述:检查index是否为在一个长度为size的list, string或array合法的范围。 index的范围区间是[0, size)(包含0不包含size)。无需直接传入list, string或array, 只需传入大小。返回index。   
  失败时抛出的异常类型:IndexOutOfBoundsException

  5.checkPositionIndex(int index, int size):
  功能描述:检查位置index是否为在一个长度为size的list, string或array合法的范围。 index的范围区间是[0, size)(包含0不包含size)。无需直接传入list, string或array, 只需传入大小。返回index。
  失败时抛出的异常类型:IndexOutOfBoundsException

  6.checkPositionIndexes(int start, int end, int size):

  功能描述:检查[start, end)是一个长度为size的list, string或array合法的范围子集。伴随着错误信息。
  失败时抛出的异常类型:IndexOutOfBoundsException

转载于:https://my.oschina.net/1987times/blog/226060

你可能感兴趣的文章
[转载] Linux架构
查看>>
mysql授权
查看>>
Ubuntu下SSH设置
查看>>
IOS-小项目( 网络部分 简单实现)
查看>>
C/C++基本数据类型
查看>>
C++第八章习题
查看>>
multiset || 线段树 HDOJ 4302 Holedox Eating
查看>>
POJ2115:C Looooops——题解
查看>>
Spring-boot+Mybatis+Maven+MySql搭建实例
查看>>
最基本的js与css 控制弹出层效果
查看>>
第12章线程控制总结
查看>>
网络对抗技术实验一
查看>>
mysql命令大全
查看>>
KVO
查看>>
html----怎样实现元素的垂直居中
查看>>
不显示BOM清单的版本
查看>>
Oracle EBS-SQL (CST-4):检查组织间项目成本.sql
查看>>
PHPMyadmin配置文件详解
查看>>
100C之15:倒底捕了多少鱼?
查看>>
PHP 命名空间
查看>>