我已经声明了一个 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/