teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

型間違い

2018/11/27 13:53

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -10,5 +10,5 @@
10
10
  わざわざforて回さなくても、コンストラクタにMapを渡すだけで(デバッグ用の出力を除き)Mapのコピーを作れます。
11
11
  ```java
12
12
  Map<Integer, Map<String, Object>> getSelectedUser =
13
- Collections.unmodifiableMap(new LinkedHashMap<Integer, String>(userEditService.userEditUserSelect());
13
+ Collections.unmodifiableMap(new LinkedHashMap<Integer, Map<String, Object>>(userEditService.userEditUserSelect());
14
14
  ```

1

Mapのコンストラクタ

2018/11/27 13:53

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -4,4 +4,11 @@
4
4
  文言通り、HashMapをStringにキャストしようとして失敗しているようです。
5
5
  しかしコード上でそのようなキャストを明示的に行っているところがないので、
6
6
  怪しいのは`userEditService.userEditUserSelect()`で取ってきてるMapが
7
- 実は`Map<Integer, HashMap<?, ?>>`なのではないかということ。
7
+ 実は`Map<Integer, HashMap<?, ?>>`なのではないかということ。
8
+
9
+ ### ちなみに
10
+ わざわざforて回さなくても、コンストラクタにMapを渡すだけで(デバッグ用の出力を除き)Mapのコピーを作れます。
11
+ ```java
12
+ Map<Integer, Map<String, Object>> getSelectedUser =
13
+ Collections.unmodifiableMap(new LinkedHashMap<Integer, String>(userEditService.userEditUserSelect());
14
+ ```