簡體   English   中英

Java列表-預期的標識符

[英]Java Lists - identifier expected

我試圖創建一個帶有鏈表的程序。

包com.delta.memory;

import java.util.ArrayList;

/**
 * Lists
 */
public class Lists {

    ArrayList<String> DaysOfTheWeek = new ArrayList<String>();

    DaysOfTheWeek.add("Sunday");
    DaysOfTheWeek.add("Tuesday");
    DaysOfTheWeek.add("Wednesday");
    DaysOfTheWeek.add("Thursday");

    DaysOfTheWeek.add(1, "Monday");

}

但是它給出了以下編譯錯誤:

Error:(11, 22) error: <identifier> expected
Error:(11, 23) error: illegal start of type

還有一個警告:

Cannot resolve symbol 'add'

請幫忙。

您的代碼應在方法內部。

public class Lists {

    public static void main (String[] args)
    {
        ArrayList<String> DaysOfTheWeek = new ArrayList<String>();

        DaysOfTheWeek.add("Sunday");
        DaysOfTheWeek.add("Tuesday");
        DaysOfTheWeek.add("Wednesday");
        DaysOfTheWeek.add("Thursday");

        DaysOfTheWeek.add(1, "Monday");
    }
}

您不能直接在類內部執行代碼。 它應該在方法內部或在靜態塊中:

import java.util.ArrayList;

/**
 * Lists
 */
public class Lists {

    private static List<String> daysOfTheWeek = new ArrayList<String>();

    static {
        daysOfTheWeek.add("Sunday");
        daysOfTheWeek.add("Tuesday");
        daysOfTheWeek.add("Wednesday");
        daysOfTheWeek.add("Thursday");
    }
}

在Java中,靜態鍵盤指示字段或方法直接屬於Class,然后在其所有實例之間共享。 換句話說,它不是由對象實例管理,而是由定義類本身管理。

使用靜態方法,可以像示例一樣為類的任何實例提供全局初始化。 在cas中,您的daysOfWeek列表將可用於所有Lists實例。

注意1:要靜態填充列表,我必須聲明為靜態。 注2:我沒有將列表聲明為arrayList,而是將其聲明為List-一種更通用的類型,並將其創建為ArrayList。

順便說一句,您應該為您的班級找到與您的業務相關的其他名稱。

暫無
暫無

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

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