首选项的Java存储结构?

首选项的Java存储结构?,java,data-structures,Java,Data Structures,我需要做的是在一个对象中存储一个偏好结构。 在具备以下前提条件的情况下,是否有在Java中保存属性的常规模式: 不同的数据类型可以显示为设置(布尔、Int、复选框) 不同的数据类型有不同数量的值(布尔值有一个,复选框有多个) 不知道将存在多少首选项 {TYPE;NAME;VALUE} {TYPE;NAME;VALUE} {TYPE;NAME;VALUE} 例如: {CHECKBOXES;"Radio box ch

我需要做的是在一个对象中存储一个偏好结构。 在具备以下前提条件的情况下,是否有在Java中保存属性的常规模式:

  • 不同的数据类型可以显示为设置(布尔、Int、复选框)
  • 不同的数据类型有不同数量的值(布尔值有一个,复选框有多个)
  • 不知道将存在多少首选项

            {TYPE;NAME;VALUE} 
            {TYPE;NAME;VALUE} 
            {TYPE;NAME;VALUE}
    
例如:

            {CHECKBOXES;"Radio box choice"; { Red, White, Blue}}
            {BOOLEAN;"Hintergrund"; true}} 
            {INT;"Page number"; 34}} 
            {STRING;"App title";"Jenny"}}

您可能希望使用Java首选项API:


您可能需要使用Java首选项API:


您可以创建一个类来表示属性。并在对象中使用列表

class Property{

   enum dataType; //create a specific enum
   String name;
   Object value;

}

如果您想更进一步,那么您可以从该属性继承来添加somme类型的专门类,如BooleanProperty或StringProperty。

您可以创建一个类来表示属性。并在对象中使用列表

class Property{

   enum dataType; //create a specific enum
   String name;
   Object value;

}
如果您想更进一步,那么您可以从该属性继承来添加somme类型的专门类,如BooleanProperty或StringProperty。

使用属性类型、名称和值创建名为Preference的基本JavaBean(POJO)。为每个首选项类型创建首选项的子类,例如CheckboxPref、BooleanPref等。适当地覆盖这些子类中的行为。例如,CheckBoxPref中的setValue()可能与IntPref中的setValue()具有不同的行为

然后创建另一个名为PreferenceManager的类。在那里存储首选项集合,并公开loadPreferences(文件首选项文件)、setPreferenceValue(字符串名称)等方法

PreferenceManager还可以用作FactoryMethod,用于根据首选项类型创建正确的首选项子类

不确定这是否是一种模式,但我会这样做。

创建一个名为Preference的基本JavaBean(POJO),其中包含属性类型、名称和值。为每个首选项类型创建首选项的子类,例如CheckboxPref、BooleanPref等。适当地覆盖这些子类中的行为。例如,CheckBoxPref中的setValue()可能与IntPref中的setValue()具有不同的行为

然后创建另一个名为PreferenceManager的类。在那里存储首选项集合,并公开loadPreferences(文件首选项文件)、setPreferenceValue(字符串名称)等方法

PreferenceManager还可以用作FactoryMethod,用于根据首选项类型创建正确的首选项子类

不确定这是否是一种模式,但我会这样做