私は以下のように地図を宣言している、私は次のエントリを追加した場合なぜHashMapの文字列値が大文字に変換されるのですか?
private Map<String, String> mUnsavedFields = new HashMap<>();
。
mUnsavedFields.put("username", "Batman");
それは「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
}
。なぜこれが起こっているのですか、どのように正確な書式設定を保持できますか?
[最小限で完全で検証可能な例を作成する方法] –
他の値を変更している可能性があります。 –
コレクションは、自分で入れたものを変更しません。それはばかげているでしょう。 – Kayaman