功能性java:这个P1的东西是什么?

Jas*_*n S 7 java monads types functional-programming

我正在看功能Java,我不明白P1是什么.任何人都可以解释和/或举个例子吗?

(背景:我知道什么是currying和closures)

Cri*_*hez 6

这直接来自功能Java的Google Code项目:

联合联合类型(元组)是其他类型的产品.提供了产品1-8的产品(fj.P1-fj.P8).当您想要从函数返回多个值时,或者当您想要在实现只接受一个参数的接口方法时接受多个值时,这些非常有用.它们还可用于获取超过其他数据类型的产品,例如列表(zip函数).
// Regular Java
public Integer albuquerqueToLA(Map<String, Map<String, Integer>> map) {
  Map m = map.get("Albuquerque");
  if (m != null)
     return m.get("Los Angeles"); // May return null.
}

// Functional Java with product and option types.
public Option<Integer> albuquerqueToLA(TreeMap<P2<String, String>, Integer>() map) {
  return m.get(p("Albuquerque", "Los Angeles"));
}
Run Code Online (Sandbox Code Playgroud)