java - 当 Java 属性文件中有重复键时会发生什么?

标签 java properties configuration

当 Java .properties 文件中存在重复键时,定义的行为是什么?

thing.valueA = 1
thing.valueB = 2

thing.valueA = 99

thing.valueA 保证使用哪个值? 1、99 或未定义?是否在任何地方记录了此行为?

注意。我不是在问重复键是否被认为是最佳实践。

最佳答案

根据我对 Properties 的理解,加载方法的工作方式与此类似:

  1. 将文件分成几行,
  2. 看下一行,
  3. 使用一些规则确定键值对(参见 here )
  4. 以类似于 put() 方法的方式将键值对放入 Properties 实例

这意味着您的示例将显示 99

load 方法的设计基本上就像您坐下来打字一样

propInstance.put("Key", "Value");
propInstance.put("Other", "Thing");
etc etc

要了解此行为,请参阅 Hashtable.put() 的文档,其中指定它使用新值更新任何重复项。由于 Hashtable 是 Properties 的父类(super class),因此 Properties 也复制了这种行为。

关于java - 当 Java 属性文件中有重复键时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12558210/

相关文章:

java - 使用 CompletableFuture 从主线程退出

java - 如何使用java在shell脚本中传递用户名和密码

java.io.NotSerializableException::ObjectOutputStream: writeObject 方法

c# - 如何获取类的属性列表?

grails - 应用变量Grails 3.2

shell - 如何在中断时杀死当前shell的所有 child ?

java - 如何测试 EntityManager.persist() 调用

java - 从JTable获取数据时,我应该在fillReport方法中使用参数吗?

c# - 在 View 状态中存储 List<int>

python - 列出 python 类中的 @property 装饰方法