问候
我正在使用java开发我的第一个应用程序,我想知道如何执行以下操作
我创建了这个
public class Test
{
...
public void control()
{
final ArrayList<Module> mods = new ArrayList<Module>();
if (i == 0)
{
mods.add( null );
mods.add(moduleList.get( i ));
Thread t = new Thread( new Runnable()
{
public void run()
{
StartController(mods);
}
});
}
}
public void StartController(ArrayList<Module> modList)
{
//Do Stuff
}
}
但我无法做到这一点!他找不到StartController ....
我想保持代码接近这一点。有没有办法做到这一点?
答案 0 :(得分:1)
看起来100%正确,但在这种类型的呼叫不起作用的情况下,这是一个常见的解决方案:
Test.this.StartController(mods)
而不是
StartController(mods)
答案 1 :(得分:0)
尝试使用ExecutorService和Runnable接口。你可以在这里看到一个简单的例子:
答案 2 :(得分:0)
另一种选择可能是使StartController(..)方法成为静态。
public static void StartController(ArrayList<Module> mods) {
// do stuff
}
然后将通话更改为:
Test.StartController(mods);