Joe*_*eyG 3 java reflection android closures anonymous-class
我一直在努力找到一种方法,在Java 1.6中开发类似于Closure的东西,因为我正在为Android开发.
我想要的(在完美的世界中)我有一个课程,我们称之为"项目".
然后我有一个这样的arrayList.
ArrayList<Item> items = new ArrayList<item>;
Run Code Online (Sandbox Code Playgroud)
在每个items.get(x)中我想保存一个在调用时将执行的代码块.这段代码需要在容纳ArrayList项的类的范围内进行.
我唯一的半脑子想法是在类中创建容纳"items"的方法,并在每个"item"实例中保存函数的名称,然后使用reflection来调用这些方法....
我很怀疑这是可能的,但这是我会找到答案的地方.
提前感谢您的帮助.
Chi*_*kei 10
你需要的是一个像这样的界面
interface Closure{
public void exec();
}
Run Code Online (Sandbox Code Playgroud)
并为您想要的每个"闭包"代码创建一个匿名类
Closure closure = new Closure() {
public void exec(){
// code here
}
}
Run Code Online (Sandbox Code Playgroud)