Tag: 闭包

为什么不使用.NET样式的委托而不是Java中的闭包?

好吧,这将是我第三次击败垂死的马。 但是,这个问题与我之前的两个关于闭包/代表的问题不同,后者询问代表的计划以及闭包的预计规范和实现是什么。 这个问题是关于 – 当我们可以简单地从我们心爱的友好邻居 – 微软窃取委托锁,股票和桶的整个概念时,为什么Java社区在努力定义3种不同类型的闭包。 有两个非技术性的结论我很想进入: Java社区应该保持自己的骄傲,代价是需要付出沉重的努力,不要屈服于借用任何微软的概念或以其他方式certificate微软的辉煌。 代表是微软的专利技术。 好的,除了以上两种可能性, Q1。 .NET风格的代理中是否存在三种(或更多种)封闭forms会解决的弱点或不足之处? Q2。 我在Java和C#之间转换时问这个问题,这让我觉得C#代理正是我所需要的。 是否有可在C#代理中当前不可用的闭包中实现的function? 如果是这样,他们是什么,因为我看不到我需要什么比C#代表给我足够的东西? Q3。 我知道在java中实现闭包/委托的一个问题是减少语言的正交性,其中不止一种方式暴露于执行特定任务。 为了确保java保持其正交性水平,是否值得花费卷积和花费时间来避免代表? 在关系设计中,我们知道通过经常充分满足第二范式来打破正交是可取的。 为简单起见,为什么java不能减少正交性和OO-ness? Q4。 JVM的体系结构在技术上受限于实现.NET样式的委托。 如果这个原因(强调不可能的虚拟)是真的,那么为什么三个闭包提议不能隐藏在简单的委托关键字或注释之后:如果我们不喜欢使用@delegate,我们可以使用@method。 我看不出委托语句格式如何比三个闭包提案更复杂。

Java关闭后的Scala优势

随着闭包被添加到Java,Scala比Java作为语言选择的优势是什么? 有人可以详细说明任何优势吗?

为什么Scala可以序列化Function而不是PartialFunction?

我有2个函数(其中1个是部分的)在一个对象下类似地定义: val partialFn: scala.PartialFunction[String, Int] = new AbstractPartialFunction[String, Int] { override def isDefinedAt(v: String): Boolean = { counter += 1 if (v == “abc”) true else false } override def applyOrElse[A1 : Int](v: A1, default: A1 => B1): B1 = { counter += 1 if (v == “abc”) { v.length } else { default(v) } […]

java如何实现内部类闭包?

在Java中,匿名内部类可以引用其本地范围中的变量: public class A { public void method() { final int i = 0; doStuff(new Action() { public void doAction() { Console.printf(i); // or whatever } }); } } 我的问题是这是如何实际实现的? 我如何进入匿名内部doAction实现,为什么它必须是final ?

类(java)和闭包(javascript)之间的区别?

我不明白封闭比类更强大。 看起来我可以使用类实现相同的闭包行为。 任何帮助,将不胜感激

为什么匿名类不能访问其封闭类的变量?

我正在阅读java中的匿名类,它说你可以访问封闭类的方法,但不能访问局部变量。 为什么会这样? 我在说这个: 编辑:旧的例子是错误的不反映我的意思。 这应该是一个更好的例子,根据它在“访问封闭类的成员”部分http://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html中所写的内容。 public class MyClass { public interface SomeInterface{ public void someOtherMethod(); } public void someMethod(int someLocalVar) { SomeInterface myClass = new SomeInterface(){ public void someOtherMethod(){ someLocalVar = 0; // This must be final to work } } } } 那么这个限制解决有什么问题呢?

什么是关闭? java有封闭吗?

我正在阅读面向对象的Javascript,并发现了闭包的概念。 我不太明白为什么以及何时使用它。 像Java这样的其他语言也有闭包吗? 我基本上想了解如何了解闭包的概念可以帮助我改进编码。

Java中当前的闭包状态是什么?

有人知道,如果关闭将在Java 7中吗?

java Lambda与Anonymous类之间的执行时间差异很大

我对同一个匿名类创建java8 lambda实例的性能感到好奇。 (在win32 java build 1.8.0-ea-b106上执行测量)。 我创建了一个非常简单的示例,并测量java是否在创建lambda表达式时提出了一些new运算符的优化: static final int MEASURES = 1000000; static interface ICallback{ void payload(int[] a); } /** * force creation of anonymous class many times */ static void measureAnonymousClass(){ final int arr[] = {0}; for(int i = 0; i < MEASURES; ++i){ ICallback clb = new ICallback() { @Override public void […]