所以我在浏览 org.eclipse.ui.internal.Workbench
时遇到了这段代码:
final boolean[] initOK = new boolean[1];
if (getSplash() != null) {
final boolean[] initDone = new boolean[] { false };
final Throwable[] error = new Throwable[1];
Thread initThread = new Thread() {
/*
* (non-Javadoc)
*
* @see java.lang.Thread#run()
*/
public void run() {
try {
// declare us to be a startup thread so that our
// syncs will be executed
UISynchronizer.startupThread.set(Boolean.TRUE);
initOK[0] = Workbench.this.init();
} catch (Throwable e) {
error[0] = e;
} finally {
initDone[0] = true;
display.wake();
}
}
};
initThread.start();
..............
}
创建只有一个元素的数组的目的是什么?更快吗?我肯定在这里遗漏了一些东西。
最佳答案
使用这种方法的优点是数组无法修改(因为它们是final
),但是它们的内容可以更改。
一个有用的例子是,您可以使用这些数组并修改它们在匿名内部类中的第一个条目,而不必将它们设置为(静态
)字段。
如上面的评论所述,另一个用例是该数组可用于将其传递给需要数组类型的方法。
关于Java boolean 数组,只有一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429209/