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

回答編集履歴

1

追記

2018/04/04 05:04

投稿

退会済みユーザー
answer CHANGED
@@ -1,11 +1,35 @@
1
1
  こうやな・w・
2
2
 
3
3
  ```
4
- public static void main(String[] args) {
4
+ public static void main(String[] args) {
5
- Map<Object, Object> omap = new HashMap<>();
5
+ Map<Object, Object> omap = new HashMap<>();
6
- omap.put("a", "9");
6
+ omap.put("a", "9");
7
- Object map = omap;
7
+ Object map = omap;
8
- Map<? extends Object, ? extends Object> xmap = (Map<?, ?>) map;
8
+ Map<? extends Object, ? extends Object> xmap = (Map<?, ?>) map;
9
- System.out.println(xmap.get("a"));
9
+ System.out.println(xmap.get("a"));
10
+ }
11
+ ```
12
+
13
+ # map型じゃないケースを想定するとこうなる「
14
+
15
+ ```
16
+ public static void main(String[] args) {
17
+ Map<Object, Object> omap = new HashMap<>();
18
+ omap.put("a", "9");
19
+
20
+ // Map<Object,Object>#get を課程
21
+ Object map = omap;
22
+
23
+ // 以下 説明ソース
24
+ Map<? extends Object, ? extends Object> xmap;
25
+ if (map instanceof Map) {
26
+ // 設定時
27
+ xmap = (Map<?, ?>) map;
28
+ } else {
29
+ // 未設定時(任意の別のマップを設定するなりしてください)
30
+ xmap = omap;
10
31
  }
32
+ System.out.println(xmap);
33
+
34
+ }
11
35
  ```