簡體   English   中英

創建對象元素時,您為對象數組標識符輸入什么?

[英]What do you put for a Object Array Identifier when creating an element of the object?

想象一個對象數組。

int MAX_ALLOWED = 5;
Object [] object = new Object [MAX_ALLOWED];

假設對象是具有相應位置的游戲單元。 當用戶按下名為“生成單元”的按鈕時,代碼將為:

 unit [] = new Object (location);

如您所見, [_]中沒有標識符,所以這帶來了問題。 我不知道在這里放什么東西,如果我放0的話,每次創建一個對象時它都會覆蓋該對象的內存為0。

訪問特定對象或單元時。

for (int i = 0; i <= unit.length; i++)
    {
    if (location = unit [i].get_Location)
    {
        move (unit [i]);
        }
    }

但是如果我在0之后訪問一個元素,這樣做將給我一個空指針異常。

對於存儲事物列表的一般問題,應避免使用數組。 取而代之的是,Collections對程序員更友好,並且仍然相當快。

在您的情況下,使用數組意味着必須保留上一次使用的元素的索引並管理大小等。使用List會更容易:

List<Unit> units = new ArrayList<Unit>();

然后使用,只需:

units.add(new Unit());

如果要限制大小,請在添加之前:

if (units.size() == MAX_ALLOWED) {
    // do something else
}

要遍歷元素:

for (Unit unit : units) {
    // do something with unit
}

關於Lists的一件好事是,它們的大小會根據需要增加,盡管在您的情況下,由於您似乎想要固定的最大值,因此可能不需要。

暫無
暫無

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

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