可以使用Guava Lists.transform或Iterables.transform转换器吗?

时间:2016-05-18 18:40:15

标签: java functional-programming guava

通常Guava Lists.transform看起来像这样:

Lists.transform(new ArrayList<String>("1", "2", "3"),
    new Function<String, Integer>() {
      @Override
      Integer apply(String str) {
        return Integer.valueOf(str);
      }
    });

Converter<A, B>定义分别从doForwarddoBackwardAB的{​​{1}}和B种方法。从逻辑上讲,它是一对A

看起来没有任何简单的方法
  • Function转到描述它的Converter对,或
  • 输入Function并向Converter方法说明方向。

除了手动编写胶水代码之外,这些是不兼容的还是其他方法?

手动胶水代码看起来像

Lists

1 个答案:

答案 0 :(得分:5)

Guava Converter实施Function。所以就这样做

Lists.transform(myList, myConverter)

Lists.transform(myList, myConverter.reverse())