gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:02:12 25 4
gpt4 key购买 nike

我一直想知道为什么我需要一个 Properties 类,因为我总是可以创建一个 HashMap 并将键/值对保存在那里。可能会减少写入加载/存储属性文件的代码量。因为否则我们必须创建 BufferedReader 并读取文件并分割字符串等等。但是,如果我们要从文件以外的源获取键/值对,那么无论我们使用 Properties 类还是 HashMap 类,可能都没有任何区别。我只是需要确认我的思考过程是否正确。

谢谢

最佳答案

Properties 是一个自 Java 1.0 起就成为 Java 一部分的类......早于 MapHashMap 被引入。事实上,您会看到 Properties 扩展了旧的(遗留)Hashtable 类,它是 HashMap 的前身。

Properties 以系统属性对象的形式在很大一部分 Java 应用程序中发挥着重要作用。如果不引入兼容性问题,就无法取代该角色。 (即使引入第二个(双)属性机制的更改也会出现问题......因为某些代码写入系统Properties对象。)

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

<小时/>

May be it reduces the amount of code to write to load/store properties file. Because otherwise we have to create BufferedReader and read files and split the String and all these.

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

But if we are going to get our key / value pairs from sources other than file then probably it doesn't make any difference whether we are using Properties class or HashMap class.

再说一遍,正确。对于该用例,HashMap 甚至可能更优越。 Properties/Hashtable 的大多数方法都是同步的。如果您不需要同步,则会造成(较小的)性能损失。

关于java - 为什么我们需要Java中的Properties类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37061226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com