2010-04-24 111 views
1

我想存儲一些用戶偏好Enum是一個很好的數據結構來存儲它們?如果是這樣,我該怎麼做?這是數據結構的最終用法。如何存儲和切換首選項?

main(){ 
    int my_val = PREFERENCES.BLACK; 
    switch(PREFERENCES){ 

    case BLACK: 
    ... 
} 

回答

1

通常,程序首選項有多種數據類型:窗口位置通常是表示X,Y位置的整數;默認文件或目錄名稱可能是字符串,顏色值通常會被存儲爲java.awt.Color值,依此類推。 enum僅適用於採用少量預定義可能性之一的值,這些可能性不是由整數,字符,字符串,浮點數,顏色或其他更專用的數據類型自然表示的值。枚舉的一個很好的用法是工具欄的位置:{ TOP, LEFT, BOTTOM, RIGHT, CENTER }或類似的東西。

枚舉是他們自己的數據類型;你不要將它們的值存儲在int s(或者你會在final int字段而不是enum s)。你創建了一些你想要的類型的enum變量,你基本上只能給它指定一個類型的固定值。不過,您可以稍後在enum變量上執行switch聲明。

0

對於可選項目的修復集,Enum是一個不錯的選擇。根據您的應用程序,您可以使用EnumSet(在運行時)或某種序列化(作爲持久性)來存儲它。

序列化枚舉的簡單方法是使用它們的數值,可通過Enum.ordinal()