我在 Properties 类的 setProperty 或 put 的顺序上遇到了困境。
这个想法是我想保存排序的属性文件。我已经准备好了排序类,但是当我执行 setProperty 或 put 时,排列变得很奇怪。
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/