首頁 > Java > java教程 > 為什麼 Java 使用大括號來防止未初始化的陣列賦值?

為什麼 Java 使用大括號來防止未初始化的陣列賦值?

Patricia Arquette
發布: 2024-12-10 10:16:11
原創
449 人瀏覽過

Why Does Java Prevent Uninitialized Array Assignment with Curly Braces?

未初始化的陣列賦值語法

Java允許在宣告中對陣列進行簡潔的初始化:

AClass[] array = {object1, object2};
登入後複製

但是,嘗試在編譯器中使用花括號分配未初始化的陣列會產生結果error:

AClass[] array;
...
array = {object1, object2}; // Error
登入後複製

限制原因

此限制的具體原因尚不清楚。這可能是由於語法複雜性或希望保持 Java 語法的一致性。

解決方法

雖然不那麼簡潔,但您可以使用 new初始化未初始化的陣列運算符,然後明確分配元素:

AClass[] array;
...
array = new AClass[2];
...
array[0] = object1;
array[1] = object2;
登入後複製

簡化範例

在提供的程式碼片段中使用此解決方法可以簡化陣列初始化邏輯:

public void selectedPointsToMove(cpVect coord) {

    if (tab == null) {
        if (arePointsClose(coord, point1, 10))
            tab = new cpVect[]{point1};
        else if (arePointsClose(point2, coord, 10))
            tab = new cpVect[]{point2};
        else
            tab = new cpVect[]{point1, point2};
    }
}
登入後複製

以上是為什麼 Java 使用大括號來防止未初始化的陣列賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板