簡體   English   中英

具有一個元素的Java布爾數組

[英]Java boolean array with one element

因此,在遍歷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 ),但是可以更改其內容。

一個有用的示例是,您可以使用這些數組並在匿名內部類中修改它們的第一個條目,而不必將其設置為( static )字段。


如上面的評論所述,另一個用例是可以使用此數組將其傳遞給需要數組類型的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM