自从我为 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/