3

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

class Bean {
 public int value;
}

List<Bean> beans = ..

List<Integer> ints = Lib.map(beans, b => b.value);

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

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

但这不是类型安全的

4

1 回答 1

6

检查番石榴的Lists课程:

public static <F,T> List<T> transform(List<F> fromList,
                  Function<? super F,? extends T> function)

API文档在这里

于 2013-05-20T13:21:18.070 回答