Как мне сохранить и переключить настройки? - PullRequest
1 голос
/ 24 апреля 2010

Я хочу сохранить некоторые пользовательские настройки. Будет ли Enum хорошей структурой данных для их хранения? Если да, то как мне это сделать? Это последнее использование структуры данных.

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

   case BLACK:
     ...
}

Ответы [ 2 ]

1 голос
/ 24 апреля 2010

Как правило, предпочтения для программы имеют различные типы данных: ваши позиции в окнах обычно являются целыми числами, выражающими позиции X, Y; Имена файлов или каталогов по умолчанию могут быть строками, цветовые значения обычно хранятся как java.awt.Color значения и т. д. enum s пригодится только для значений, которые принимают одну из небольшого числа предопределенных возможностей, и эти возможности не являются значениями, которые естественным образом представлены целыми числами, символами, строками, числами с плавающей точкой, цветами или другими более специализированными типами данных , Хорошее использование для перечисления - это положение панели инструментов: { TOP, LEFT, BOTTOM, RIGHT, CENTER } или что-то в этом роде.

Перечисления являются их собственным типом данных; вы не сохраняете их значения в int с (или говорите о final int полях, а не enum с). Вы создаете несколько enum переменных нужного вам типа, и вы можете назначить ему только одно из фиксированных значений типа. Впоследствии вы можете выполнить оператор switch для переменных enum.

0 голосов
/ 24 апреля 2010

Для фиксированного набора выбираемых элементов Enum является хорошим выбором. В зависимости от вашего приложения, вы можете использовать EnumSet (во время выполнения) или какой-либо сериализации (как постоянство) для его хранения.

Простой способ сериализации Enums заключается в использовании их числового значения, которое можно получить по Enum.ordinal()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...