当 Java .properties
文件中存在重复键时,定义的行为是什么?
thing.valueA = 1
thing.valueB = 2
thing.valueA = 99
thing.valueA
保证使用哪个值? 1、99 或未定义?是否在任何地方记录了此行为?
注意。我不是在问重复键是否被认为是最佳实践。
最佳答案
根据我对 Properties
的理解,加载方法的工作方式与此类似:
- 将文件分成几行,
- 看下一行,
- 使用一些规则确定键值对(参见 here )
- 以类似于
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/