我曾经为我的应用程序编写了一个自定义首选项类。在我的下一个业余项目中,我想切换到首选项API。但是put和get函数需要一个默认值,我不想在源文件中分散默认值。即使我的项目很小,我也无法想象在整个源代码中更改默认值。你们如何使用这个API?我正在考虑将首选项API封装在另一个类中,但这样做有什么意义呢?因为它只是减轻了将文件保存到磁盘的负担,而使用序列化并不难。我是否误解了重点?
AbstractPreferences
。您可以在此处查看基于Linux的实现:http://www.docjar.com/html/api/java/util/prefs/FilePreferencesImpl.java.html祝好运!您可以将默认值放在.preferences文件中,该文件与您的.jar文件捆绑在一起(或者在专门的类或接口中使用常量)。
我用它来处理窗口位置/大小、记住选择文件的默认文件夹、最近打开的文件等琐事。我可以想到一些有趣的事情,您可以通过首选项API“免费”获得:
此外,我不喜欢序列化,并且不建议将其用于此目的。序列化意味着您必须在应用程序的新版本中更改类时进行注意。
把所有默认值都放在一个类中,这样它们就不会散落在你的代码中了,这难道很难吗?
我最近在项目中使用了commons configuration。我也研究过Java Preferences API,但我更喜欢Commons项目的灵活性。而且你不需要指定默认值!