Guava

guava是google开发的一套工具jar库。这个库可以方便编码,减少编码错误,让你的代码变得更加优雅。


Optional

com.google.common.base.Optional


Guava设计Optional来解决null问题,Optional<T>表示可能为null的T类型的引用。Optional实例要么包含一个非null的引用,要么什么都不包含(absent),从不会包含null值引用。

Optional除了赋予null意义外,增加可读性,还在于它是一种傻瓜式的防护。Optional 迫使你积极思考引用确实的情况,因为你必须显式地从Optional 获取引用。


S.N.

方法及说明

1

static <T> Optional<T> absent()
返回没有包含的参考Optional的实例。

创建引用缺失的Optional实例。

4

static <T> Optional<T> fromNullable(T nullableReference)
如果nullableReference非空,返回一个包含引用Optional实例;否则返回absent()。

创建指定引用的Optional实例,若引用为null则表示缺失。

5

abstract T get()
返回所包含的实例,它必须存在。

若引用缺失,则抛出IllegalStateException。

7

abstract boolean isPresent()
返回true,如果这支架包含一个(非空)的实例。

8

static <T> Optional<T> of(T reference)
返回包含给定的非空引用Optional实例。

创建指定引用的Optional实例,对null值抛出NullPointException。建议直接传递常量参数。

9

abstract Optional<T> or(Optional<? extends T> secondChoice)
返回此Optional,如果它有一个值存在; 否则返回secondChoice。

11

abstract T or(T defaultValue)
返回所包含的实例(如果存在);否则为默认值。

12

abstract T orNull()
返回所包含的实例(如果存在);否则返回null。


Preconditions


Precondistions是一种简单的封装,让你的代码中不会再有大段大段的if-else进行判断。

简单但是有用。

S.N.

方法及说明

1

static void checkArgument(boolean expression)
确保涉及的一个或多个参数来调用方法表达式的真相。

2

static void checkArgument(boolean expression, Object errorMessage)
确保涉及的一个或多个参数来调用方法表达式的真相。

3

static void checkArgument(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
确保涉及的一个或多个参数来调用方法表达式的真相。

4

static int checkElementIndex(int index, int size)
确保索引指定一个数组,列表或尺寸大小的字符串有效的元素。

5

static int checkElementIndex(int index, int size, String desc)
确保索引指定一个数组,列表或尺寸大小的字符串有效的元素。

6

static <T> T checkNotNull(T reference)
确保对象引用作为参数传递给调用方法不为空。

7

static <T> T checkNotNull(T reference, Object errorMessage)
确保对象引用作为参数传递给调用方法不为空。

8

static <T> T checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs)
确保对象引用作为参数传递给调用方法不为空。

9

static int checkPositionIndex(int index, int size)
确保索引指定一个数组,列表或尺寸大小的字符串的有效位置。

10

static int checkPositionIndex(int index, int size, String desc)
确保索引指定一个数组,列表或尺寸大小的字符串的有效位置。

11

static void checkPositionIndexes(int start, int end, int size)
确保开始和结束指定数组,列表或字符串大小有效的位置,并按照顺序。

12

static void checkState(boolean expression)
确保涉及调用实例的状态,但不涉及任何参数来调用方法表达式的真相。

13

static void checkState(boolean expression, Object errorMessage)
确保涉及调用实例的状态,但不涉及任何参数来调用方法表达式的真相。

14

static void checkState(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
确保涉及调用实例的状态,但不涉及任何参数来调用方法表达式的真相。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值