- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Lamdbaj允许在Java语言中定义闭包,可以找到各种例子 here
我的问题是关于使用中的底层 Java 机制,例如,要定义 println
闭包,使用以下代码:
Closure println = closure();
{ of(System.out).println(var(String.class)); }
此闭包随后可以通过以下方式执行:
println.apply("foobar");
我很好奇 Java 中的什么机制允许对 of(...).println(...)
的调用与 println
相关联实例本身。
当然,可以阅读 lambdaj 源代码,但如果有人有的话,我希望能得到稍微更高层次的解释。我的反射(reflection)技巧包括一些内省(introspection)和动态执行方法。
最佳答案
我是 Mario Fusco,我是 lambdaj 库的主要开发人员。
首先,我想澄清一点:lambdaj 无意取代任何函数式语言。正如我上周在苏黎世 Jug 的演讲中所说,如果你有机会使用 Scala,那就去吧,不要回头。在这里你可以找到我的演讲简历,其中明确指出:
http://ctpjava.blogspot.com/2009/10/lambdaj-new-trends-in-java.html
我也是一个快乐的 Scala 开发者。但有时你不得不使用 Java 进行开发(根据我的经验,在现实世界中,大约 80% 的时间你无法选择必须使用哪种语言编写代码),在这种情况下,一些 lambdaj 功能可能是有帮助(或者我希望如此)。我只是想给 Java 带来一些完全缺失的功能特性。当然,结果并不完全令人满意,主要是受Java自身的限制。
至于内部 lambdaj 机制,是的,它使用 ThreadLocal 来实现该结果。如果您对 lambdaj 有其他问题、好奇心或什至更好的建议和建设性的批评,也许您可能有兴趣在此处注册到 lambdaj 邮件列表:
http://groups.google.com/group/lambdaj
再见马里奥
关于lambdaj 闭包中使用的 Java 机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1615950/
我在一个简单的 GTK 应用程序中有两个小部件: extern crate gdk; extern crate gtk; use super::desktop_entry::DesktopEntry;
我想做这样的事情: const vegetableColors = {corn: 'yellow', peas: 'green'}; const {*} = vegetableColors; cons
该属性它存储在 gradle 中的什么位置? subprojects { println it.class.name // DefaultProject_Decorated depen
我想在 jQuery 闭包中看到窗口属性“otherName”描述符。但 进入 jQuery 闭包 'otherName' 描述符显示未定义,我认为可能 是 getOwnPropertyDescrip
我曾经看过 Douglas Crockford 的一次演讲,在 javascript 的上下文中,他提到将 secret 存储在闭包中可能很有用。 我想这可以在 Java 中像这样天真地实现: pub
我很难理解 Swift 中闭包中真正发生的事情,希望有人能帮助我理解。 class MyClass { func printWhatever(words: String) {
我有两个 3 表:用户、个人资料、friend_request $my_profile_id变量存储用户个人资料ID的值 $my_user_id = Auth::user()->id; $my_pro
我正在尝试通过使用 GLFW 的包装来学习 Swift GLFW 允许添加错误回调: GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cb
我是一名优秀的程序员,十分优秀!