簡體   English   中英

訪問枚舉常量

[英]Access Enum constant variable

我有下面的代碼片段。

public class GroupLayout {

    void setHorizontalGroup(GroupLayout.Group inp) {
    }

    public GroupLayout.ParallelGroup createParallelGroup(GroupLayout.Alignment.LEADING) { // Error is here
        return new GroupLayout.ParallelGroup();
    }

    public GroupLayout.SequentialGroup createSequentialGroup() {
        return new GroupLayout.SequentialGroup();
    }

    public enum Alignment {
        LEADING
    }

    class Group {

        void addGroup() {
        }
    }

    class ParallelGroup extends Group {}

    class SequentialGroup extends Group {}
}

我正在嘗試從Enum類型訪問LEADING常量,但出現以下錯誤

Syntax error, insert "... VariableDeclaratorId" to complete FormalParameterList

我可以知道訪問Enum常量在做什么嗎?

您的方法定義語法錯誤。 至少在Java添加對默認參數值的支持之前,可以使用參數類型而不是其值定義方法。

您可以定義一個alignment參數:

public ParallelGroup createParallelGroup(Alignment alignment) {
    return new ParallelGroup(alignment);
}

或使用方法體內的實際枚舉值:

public ParallelGroup createParallelGroup() {
    return new ParallelGroup(Alignment.LEADING);
}

您可以參考JLS§8.4。 方法聲明以獲取更多信息。

暫無
暫無

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

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