Java中的Typesafe map-reduce

Yan*_*nko 3 java collections mapreduce

如何编写类型安全的映射器/变换器集合?

class Bean {
 public int value;
}

List<Bean> beans = ..

List<Integer> ints = Lib.map(beans, b => b.value);
Run Code Online (Sandbox Code Playgroud)

使用Apache Commons-Collections它看起来像这样:

    Collection<Integer> ints = CollectionUtils.collect(beans, new Transformer() {
        @Override
        public Object transform(Object input) {
            return null; //cast here, dereference etc.
        }
    });
Run Code Online (Sandbox Code Playgroud)

但这不是类型安全的

Ken*_*ent 6

检查番石榴的Lists课程:

public static <F,T> List<T> transform(List<F> fromList,
                  Function<? super F,? extends T> function)
Run Code Online (Sandbox Code Playgroud)

API文档在这里