伙计们,这很傻,但我得问
你有一个 private Map<String, String> dbMap = new HashMap<String, String>();
我在读完文件之后把东西放进去了:
while ((line = br.readLine()) != null) {
...
int ix = line.indexOf("=");
String key = line.substring(0, ix);
String value = line.substring(ix + 1, line.length());
...
dbMap.put(key, value);
}
Run Code Online (Sandbox Code Playgroud)
完成后,打印出来,地图会显示内部的内容
System.out.println(fc.getDbMap().keySet());
{MAX_DB_CONNECTIONS = something, DATABASE_PASSWD = something else}
Run Code Online (Sandbox Code Playgroud)
当我尝试将值赋给特定键时,我得到null,当确实存在键时
为什么?
System.out.println(fc.getDbMap().containsKey("DATABASE_PASSWD"));
false
System.out.println(fc.getDbMap().get("DATABASE_PASSWD"));
null
Run Code Online (Sandbox Code Playgroud)
您正在打印出keySet()而不是Map(根据代码),因此您的键看起来像"MAX_DB_CONNECTIONS = something"等(或者整个事情是关键) - 但您希望键是"MAX_DB_CONNECTIONS".因此,您正在错误地构建Map(或者您要求填充它的库).
如果从属性文件中读取这些内容,可能是您使用了错误的分隔符?
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |