java - 枚举中的顺序不匹配

标签 java 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);
    }
    ...

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

最佳答案

这是因为Properties只是一个 Hashtable 并且不保证任何特定的顺序。 (没有办法“解决”这个问题。调用 dbProperties.load 时顺序丢失。)

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

关于java - 枚举中的顺序不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28938495/

相关文章:

c# - 在枚举中使用静态

另一个文件中可能值的 XML 模式枚举

java - 当我只能访问对象的一个​​字段时,如何返回该对象?

javascript - 从 JSP 获取隐藏值的不同方法

java - 如何从firebase java获取父值

objective-c - 目标 - C - << 在枚举中的使用

multithreading - 枚举时集合发生突变,导致 NSTableView、NSArrayController 和 NSThread 崩溃

c++ - 从匿名结构访问枚举条目

java - 覆盖抽象方法时的通用代码 - 设计问题

java - smoothScrollTo(position) 滚动到底部而不是 RecyclerView 中的目标位置