java - Java 中的闭包或类似的东西

标签 java android reflection closures anonymous-class

自从我为 Android 开发以来,我一直在努力寻找一种方法来将类似于 Closure 的东西合并到 Java 1.6 中。

我想要什么(在一个完美的世界中)我有一个类,我们将其称为“项目”。

然后我有这些的 arrayList。

ArrayList<Item> items = new ArrayList<item>;

在每一个 items.get(x) 中,我想保存一段代码,在调用时执行。此代码块需要发生在包含 ArrayList 项的类的范围内。

我唯一的半脑想法是在包含“items”的类中创建方法,并在每个“item”实例中保存函数的名称,然后使用反射来调用这些方法... .

我很怀疑这是否可能,但无论如何我都会在这里找到答案。

提前感谢您的帮助。

最佳答案

你需要的是这样的界面

interface Closure{
    public void exec();
}

并为每个你想要的“闭包”代码创建一个匿名类

Closure closure = new Closure() {
    public void exec(){
        // code here
    }
}

关于java - Java 中的闭包或类似的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9519134/

相关文章:

Java JFrame 和 JPanel 与 Repaint() 的区别

c# - 是否可以从堆栈跟踪中获取实际类型?

java - 我将如何打印 TreeMap 中的所有值?

java - 这个代码段的增长顺序是什么?稍微解释一下

android - 在 TextInputLayout 中垂直居中提示和 EditText

android - popBackStack 之后错误的 day_of_month

java - 不同 Android 版本上的奇怪行为约束布局动画

function - Groovy,获取封闭函数的名称吗?

Objective-C 字典作为属性/方法访问

java - 如何在 Java 中使用 HttpSession 跟踪登录尝试?