Tag: functional java

使用functional-java为Java生产项目添加闭包有多安全?

我很想在Java中使用闭包。 我已经读过它们可能会也可能不会成为Java 7.但是一个名为functional-java的开源项目已经实现了包括闭包在内的function特性。 在企业生产应用程序中使用这样的库有多安全? 是否有更好的方法来向Java添加闭包?

Guava中的任何东西都类似于Functional Java的效果?

我知道纯函数式编程的目标之一是消除可变性,从而排除副作用。 但是让我们面对现实吧,即使存在所有的函数式编程库,Java也不是一种函数式语言。 事实上,似乎有些FP库知道并期待这一点。 例如,在Functional Java中,有Effect类。 在Jedi FP库中,有Command接口。 这允许您 – 除其他外 – 将类型安全的命令模式应用于Iterable元素,而不需要令人讨厌的for循环样板。 Command makeCall = new Command { public void execute(PhoneNumber p) { p.call(); } } List phoneList = … FunctionalPrimitives.forEach( phoneList, makeCall ); 所以问题是,番石榴中有类似的东西吗? 在接受澄清后接受回复 我正在开发一个框架 ,它可以在一定的环境下帮助解决大多数Java FP库中固有的“垂直问题”。 所以我实际上不会像上面所示那样编写代码示例:即,显式声明Command一个新类实现及其所有垂直噪声icky-ness,只是为了在声明后立即应用它。 我更多地考虑实际的命令模式,其中可能有几个可能的命令在其他地方声明,并且只有其中一个被传递到想要迭代地应用它的代码中。 此外,我的框架的目标是使创建function接口对象(函数,谓词,命令,其他简单的lambda)更加惯用,而不是简单地将垂直问题移动到其他地方。 我早就意识到这不在番石榴的范围内。 但是,由于其他FP库中有类似Command的接口,我只想知道Guava中是否存在模拟。 使用我的框架的更完整的代码示例可能是这样的: class Stuff { private final Stuff CALLS_TO = callsTo(Stuff.class); // […]

Functional Java和Guava之间有很好的比较吗?

我想在我将要教授的课程中使用Functional Java或Guava(或者不太可能使用Scala)。 尽管在JVM上运行了许多函数式语言,但我希望坚持使用尽可能类似于Java的东西,即在Java 8中具有预期的function特性,在概念和语法上最兼容的东西。 。 看起来functionJava和番石榴是最好的候选者。 我无法在function,易用性,概念接近直接Java等方面找到任何比较它们的东西。有没有人知道这些库之间的良好比较?

使用Hibernate映射FunctionalJava选项

我有一个hibernate映射的Java对象JKL ,它充满了一堆普通的hibernate-mappable字段(比如字符串和整数)。 我添加了一个新的嵌入字段(它位于同一个表中 – 不是映射), asdf ,这是一个fj.data.Option 。 我已经明确表示这个字段实际上可能不包含任何内容(而不是每次访问时都必须处理null )。 如何在JKL.hbm.xml文件中设置映射? 我希望hibernate在检索对象时自动将数据库中的null转换为fj.data.Option 。 它还应该将fj.data.Option的非null实例转换为some fj.data.Option 。 我还有其他的诡计吗? 谢谢。