我一直想知道为什么我需要一个Properties类,因为我总是可以创建一个HashMap并将键/值对保留在那里。可能是因为它减少了写入装载/存储属性文件的代码量。因为否则,我们必须创建BufferedReader并读取文件,然后拆分String和所有这些文件。但是,如果我们要从文件以外的来源获取键/值对,那么无论我们使用Properties类还是HashMap类,都可能没有任何区别。我只需要确认我的思维过程是否正确即可。
谢谢
Properties
是因为Java 1.0中已Java的一部分....类以及之前 Map
和HashMap
进行了介绍。实际上,您将看到Properties
扩展了旧的(旧版)Hashtable
类,该类是的前身HashMap
。
Properties
以系统属性对象的形式在大部分Java应用程序中扮演着重要角色。在不引入兼容性问题的情况下,不能以该角色替换它。(即使引入第二(双)属性机制的更改也将是有问题的……因为某些代码写入了系统Properties
对象。)
Properties
具有一些HashMap
无法提供的重要功能;即能够以2种标准的人类可读格式加载和保存属性。
可能是因为它减少了写入装载/存储属性文件的代码量。因为否则,我们必须创建BufferedReader并读取文件,然后拆分String和所有这些文件。
是的。而且您会发现,属性文件的语法比使用split
或正则表达式解析的语法更复杂。查看此处描述的语法:
但是,如果我们要从文件以外的来源获取键/值对,那么无论我们使用Properties类还是HashMap类,都可能没有任何区别。
再次,正确。对于该用例,HashMap
甚至可能更好。Properties
/的大多数方法Hashtable
都是同步的。如果您不需要同步,那将是一个(很小的)性能损失。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句