在Cactoos中重构Guava的Iterables.transform和函数等效

时间:2017-08-31 11:08:36

标签: java oop guava cactoos

我将Google Guava库的一些用法重构为Cactoos库,并且我很难找出Function类和Iterables.transform方法的等效实现,使用Cactoos库作为更换。

示例(来自https://github.com/yegor256/rultor/blob/b3e58634d6066f52a2a2c94e44033b37e7e464dd/src/test/java/com/rultor/agents/twitter/TweetsTest.java#L84):

new JoinedText(
    " ",
    Iterables.transform(
        repo.languages(),
        new Function() {
            @Override
            public String apply(final Language lang) {
                return String.format("#%s", lang.name());
            }
        }
    )
).asString()

Cactoos中两者的正确等效实现是什么?

2 个答案:

答案 0 :(得分:3)

这应该有效:

String txt = new JoinedText(
  " ",
  new Mapped<>(
    repo.languages(),
    lang -> String.format("#%s", lang.name())
  )
).asString();

答案 1 :(得分:2)