枚举中的顺序不匹配

时间:2015-03-09 09:19:00

标签: java enumeration

我正在使用Enumeration来读取属性文件。假设我的属性文件中的值为lon2qaidxiat01.idx.local, master, 2015-02-13, 2015-02-28。但是当我尝试使用Enumeration阅读相同内容时,它会以2015-02-13,master,2015-02-28,lon2qaidxiat01.idx.local的随机顺序读取。

以下是我的代码:

try {
    dbProperties.load(new FileInputStream("config/db.properties"));
    Enumeration enuKeys = dbProperties.elements();
    while (enuKeys.hasMoreElements()) {
        String key = (String) enuKeys.nextElement();
        String value = dbProperties.getProperty(key);
        System.out.println(key);
        paramList.add(key);
    }
    ...

请使用枚举建议如何按顺序阅读。

1 个答案:

答案 0 :(得分:3)

这是因为Properties只是Hashtable,并不保证任何特定排序。 (没有办法"修复"这个。在dbProperties.load的电话中,订单丢失了。)

如果排序很重要,请使用LinkedHashMapList键/值对(并滚动自己的加载例程)。