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