Java中的类型安全映射reduce

Java中的类型安全映射reduce,java,collections,mapreduce,Java,Collections,Mapreduce,如何编写集合的类型安全映射器/转换器 class Bean { public int value; } List<Bean> beans = .. List<Integer> ints = Lib.map(beans, b => b.value); 类Bean{ 公共价值观; } 列表bean=。。 List ints=Lib.map(bean,b=>b.value); 使用Apache Commons集合,它看起来如下所示: Collection

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

class Bean {
 public int value;
}

List<Bean> beans = ..

List<Integer> ints = Lib.map(beans, b => b.value);
类Bean{
公共价值观;
}
列表bean=。。
List ints=Lib.map(bean,b=>b.value);
使用Apache Commons集合,它看起来如下所示:

    Collection<Integer> ints = CollectionUtils.collect(beans, new Transformer() {
        @Override
        public Object transform(Object input) {
            return null; //cast here, dereference etc.
        }
    });
Collection ints=CollectionUtils.collect(bean,new Transformer(){
@凌驾
公共对象变换(对象输入){
返回null;//在此处强制转换、取消引用等。
}
});

但这不是类型安全的

检查番石榴的
列表
分类:

public static <F,T> List<T> transform(List<F> fromList,
                  Function<? super F,? extends T> function)
公共静态列表转换(List fromList,

函数您应该在这里[1]:您的代码几乎可以像Java 8那样编译。我宁愿使用现成的library@assylias我知道;)我正在使用Java 6,非常好,比Apache好得多@Kent您可以像我在编辑中那样通过URI编码来修复带有括号的URL(即,替换为
%28
%29
),或者如果参数是平衡的,您可以使用以下语法:
[链接文本](http://www.example.com/foo(bar))
@gustafc-thx,我在你的评论中尝试了后一个选项,但没有效果。但我没有尝试第一个。谢谢@Kent是的,它也不喜欢空格字符(实际上URL中不允许空格字符,可以用
%20
转义)