java - 为什么 HashMap String 值转换为大写?

标签 java hashmap

我已经声明了一个 map ,如下所示,

private Map<String, String> mUnsavedFields = new HashMap<>();

如果我添加以下条目;

mUnsavedFields.put("username", "Batman");

它按预期工作,但是当我在循环中获取“用户名”键处的值时,

Iterator it = mUnsavedFields.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry pair = (Map.Entry)it.next();
    Timber.d("Key(%s), Value(%S)", pair.getKey(), pair.getValue());
    it.remove(); // avoids a ConcurrentModificationException
}

它返回的内容为全大写的“BATMAN”。为什么会发生这种情况?我怎样才能保留它所采用的确切格式?

最佳答案

%S 格式占位符将输入参数大写。

大写的结果只是控制台中显示的打印内容,值为原始值。

使用

"Key(%s), Value(%s)"

关于java - 为什么 HashMap String 值转换为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47055434/

相关文章:

java - Gradle 以 `--add-exports` 运行

java - JPA级联删除: Setting child FK to NULL on a NOT NULL column

java - 我们如何在 TreeMap 中使用异构键

python - 检查字典中键是否存在比在 Python 中捕获 KeyError 更好?

java - 数据库中最后插入行的值

java - 带有字符串对象的简单集合,允许以 0(1) 操作进行搜索

Java HashMap 唯一键被覆盖 - 请查看代码和建议

java - 如何获取HashMap中存在对应关系的计数?

c++ - 与 std::unordered_map 或 std::map 相比,MFC CMap 是否具有良好的性能

java - 通用 HashMap