回答編集履歴

1

追記

2018/04/04 05:04

投稿

退会済みユーザー
test CHANGED
@@ -4,18 +4,66 @@
4
4
 
5
5
  ```
6
6
 
7
- public static void main(String[] args) {
7
+ public static void main(String[] args) {
8
8
 
9
- Map<Object, Object> omap = new HashMap<>();
9
+ Map<Object, Object> omap = new HashMap<>();
10
10
 
11
- omap.put("a", "9");
11
+ omap.put("a", "9");
12
12
 
13
- Object map = omap;
13
+ Object map = omap;
14
14
 
15
- Map<? extends Object, ? extends Object> xmap = (Map<?, ?>) map;
15
+ Map<? extends Object, ? extends Object> xmap = (Map<?, ?>) map;
16
16
 
17
- System.out.println(xmap.get("a"));
17
+ System.out.println(xmap.get("a"));
18
+
19
+ }
20
+
21
+ ```
22
+
23
+
24
+
25
+ # map型じゃないケースを想定するとこうなる「
26
+
27
+
28
+
29
+ ```
30
+
31
+ public static void main(String[] args) {
32
+
33
+ Map<Object, Object> omap = new HashMap<>();
34
+
35
+ omap.put("a", "9");
36
+
37
+
38
+
39
+ // Map<Object,Object>#get を課程
40
+
41
+ Object map = omap;
42
+
43
+
44
+
45
+ // 以下 説明ソース
46
+
47
+ Map<? extends Object, ? extends Object> xmap;
48
+
49
+ if (map instanceof Map) {
50
+
51
+ // 設定時
52
+
53
+ xmap = (Map<?, ?>) map;
54
+
55
+ } else {
56
+
57
+ // 未設定時(任意の別のマップを設定するなりしてください)
58
+
59
+ xmap = omap;
18
60
 
19
61
  }
20
62
 
63
+ System.out.println(xmap);
64
+
65
+
66
+
67
+ }
68
+
21
69
  ```