为什么我们需要Java中的Properties类?

用户名

我一直想知道为什么我需要一个Properties类,因为我总是可以创建一个HashMap并将键/值对保留在那里。可能是因为它减少了写入装载/存储属性文件的代码量。因为否则我们必须创建BufferedReader并读取文件,然后拆分String和所有这些文件。但是,如果我们要从文件以外的来源获取键/值对,那么无论我们使用Properties类还是HashMap类,都可能没有任何区别。我只需要确认我的思维过程是否正确即可。

谢谢

斯蒂芬·C

Properties是因为Java 1.0中已Java的一部分....类以及之前 MapHashMap进行了介绍。实际上,您将看到Properties扩展了旧的(旧版)Hashtable类,该类是的前身HashMap

Properties以系统属性对象的形式在大部分Java应用程序中扮演重要角色。在不引入兼容性问题的情况下,不能以该角色替换它。(即使引入第二个(双重)属性机制的更改也是有问题的……因为某些代码写入了系统Properties对象。)

Properties具有一些HashMap无法提供的重要功能即能够以2种标准的人类可读格式加载和保存属性。


可能是因为它减少了写入装载/存储属性文件的代码量。因为否则我们必须创建BufferedReader并读取文件,然后拆分String和所有这些文件。

是。您会发现,属性文件的语法比使用split或正则表达式解析的语法更复杂查看此处描述的语法:

但是,如果我们要从文件以外的来源获取键/值对,那么无论我们使用Properties类还是HashMap类,都可能没有任何区别。

再次,正确。对于该用例,HashMap甚至可能更好。Properties/的大多数方法Hashtable都是同步的。如果您不需要那种同步,那将是一个(很小的)性能损失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么我们需要Java中的用户定义的类加载器

来自分类Java

为什么我们到底需要Java中的StringBuffer

来自分类Java

为什么我们需要Java中的默认方法?

来自分类Java

为什么我们需要纯<?>在Java中?

来自分类Java

为什么我们需要Java中的弱引用

来自分类Dev

为什么我们需要密封类?

来自分类Dev

为什么我们在python中的每个方法上都需要相应的类函数?

来自分类Dev

为什么我们在MongoDB中需要created_at

来自分类Dev

为什么我们需要python中的协程?

来自分类Dev

为什么我们需要Kubernetes中的服务帐户?

来自分类Linux

为什么我们在芹菜中需要签名?

来自分类Dev

为什么我们在git中需要SSH密钥?

来自分类Dev

为什么我们需要C ++中的虚函数?

来自分类Dev

为什么我们需要Clojure中的'in(require'[...]])?

来自分类Python

为什么我们在Python中需要“ finally”子句?

来自分类Java

为什么我们在Hadoop堆栈中需要ZooKeeper?

来自分类Dev

为什么我们在Typescript中需要任何类型?

来自分类Dev

为什么我们需要Python中的属性?

来自分类Dev

为什么我们在区块链中需要 TLSNotary?

来自分类Dev

为什么我们需要需求?

来自分类Dev

我们为什么需要`ngDoCheck`

来自分类Linux

为什么我们需要mktemp?

来自分类Dev

为什么我们需要单子?

来自分类Dev

我们为什么需要ʻiteratoreltype()`?

来自分类Dev

我们为什么需要容器?

来自分类Dev

为什么我们需要cmake?

来自分类Dev

为什么我们需要IO?

来自分类Dev

为什么我们需要主键?

来自分类Java

为什么我们需要在Java中对ArrayList使用迭代器?