java - 如何修复 setProperty 中的奇怪顺序或放置 Properties 类

标签 java properties

我在 Properties 类的 setProperty 或 put 的顺序上遇到了困境。

这个想法是我想保存排序的属性文件。我已经准备好了排序类,但是当我执行 setPropertyput 时,排列变得很奇怪。

Properties tmp = new Properties();
tmp.setProperty("A1","B");
tmp.setProperty("A2","B");
tmp.setProperty("A3","B");
tmp.setProperty("A4","B");
tmp.setProperty("A5","B");

执行tmp.list(System.out)时的输出变为:

-- listing properties --
A4=B
A3=B
A2=B
A1=B
A5=B

使用 put 时也会出现相同的安排。

我不知道为什么..我需要的只是将排序后的属性保存在 *.properties 文件中。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

Properties 类扩展了 Hashtable,因此没有定义有保证的排序顺序。您最好尝试使用 TreeMap 来代替,因为它提供了键的自然排序顺序。不过,如果您想要保存加载,则必须滚动自己的逻辑,因为这些操作不会出现在TreeMap上。如果您想查看这些代码示例,请告诉我。

关于java - 如何修复 setProperty 中的奇怪顺序或放置 Properties 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16669331/

相关文章:

c# - 创建预定义的 JsonConvert 属性?

Laravel 检查属性存在

java - JPA 2 标准 - 分组和计数

java - 如何获取 CrudRepository 实例?

Spring message 标签有单引号字符的问题

javascript - 对象字面量可以嵌套多远?

vb.net - 遍历类属性

java - 如何调用包含在 Android Activity 中的方法?

java - Swagger 不支持 Spring REST API

java - 使用 Contentful Space 时属性值必须是常量错误