从现有Ord创建Ord

时间:2015-01-20 04:02:50

标签: functional-java

如果我有F<A, B>,如何将现有的Ord<A>转换为Ord<B>

例如:

public class Foo {
    public String name;
}

F<Foo, String> f = new F<Foo, String>() {
    public String f(Foo foo) {
        return foo.name;
    }
};

Ord<String> stringOrd = Ord.stringOrd;

Ord<Foo> fooOrd = ???

1 个答案:

答案 0 :(得分:2)

答案在API中用于拍摄。 comap

Ord<Foo> fooOrd = Ord.stringOrd.comap(new F<Foo, String>() {
    public String f(Foo foo) {
        return foo.name;
    }
});