Class Converter<A,B> 实现了Function<A,B>接口.它是一个抽象类.继承cconveter类的类必须实现B doForward(A var1)和A doBackward(B var1).
不允许直接调用doForward和doBackForward,这两个方法只允许重写.
需要注意的是,GUAVA 16版本开始才加入converter
- B correctedDoForward(@Nullable A a)
传入的参数不允许为空 .如果a不为空,那么调用doForward方法 . - A correctedDoBackward(@Nullable B b)
与correctedDoForward类似 ,不过它将调用doBackward方法.
-Iterable<B> convertAll(final Iterable<? extends A> fromIterable)
可以转换多个数据 -
<C> Converter<A, C> doAndThen(Converter<B, C> secondConverter)
可以使用此函数连接两个convertor.在A对象转化为B对象后,再次进行转化 ,最终转化为C对象. -
<C> Converter<A, C> andThen(Converter<B, C> secondConverter)
实际上调用了 doAndThen函数 - correctedDoBackward
根据类中的handleNullAutomatically来选择处理对象A为null的操作.
如果为true.则判断A对象是否为空,如果为空,返回空,否则让doForward来处理,如果返回的B对象为空,会抛出非受检异常.如果为false,则将A对象交给doForward来处理.