簡體   English   中英

在Java bean中聲明枚舉變量

[英]Declare enum variable in Java bean

我需要將一個枚舉變量聲明為一個類成員,並且需要像java bean一樣為它定義一個setter和getter。 像這樣的東西 -

public class Vehicle {
 private String id;
 private String name;
 enum color {
   RED, GREEN, ANY;
 }
 // setter and getters
} 

現在,我想將color屬性設置為紅色,綠色或任何其他類,並希望相應地做出決定。

enum必須公開以供外界看到:

public class Vehicle {
     private String id;
     private String name;

     public enum Color {
       RED, GREEN, ANY;
     };

     private Color color;    

     public Color getColor(){
        return color; 
     }

     public void setColor(Color color){
         this.color = color;
     }   

    } 

然后從包外面你可以做:

vehicle.setColor(Vehicle.Color.GREEN);

如果您只需要在與Vehicle相同的包中使用Vehicle.Color,則可以從enum聲明中刪除public

如果你想使用你的color枚舉,你必須比你正在做的更廣泛地分享它的聲明。 最簡單的可能是將public放在車輛中的enum color前面。

接下來,您需要聲明枚舉類型的字段。 我建議你將枚舉的名稱從color改為Color ,因為它基本上都是一個類。 然后你可以聲明一個字段: private Color color和你的其他字段。

要使用枚舉,尤其是來自另一個類的常量,您需要知道枚舉嵌套在Vehicle中。 您需要限定所有名稱,因此:

Vehicle.Color myColor = Vehicle.Color.RED;

Bakkal親切地編寫了代碼來展示我所談論的內容。 詳情請見他的回答!

暫無
暫無

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

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