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 に答える