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

回答編集履歴

1

追記

2020/05/17 05:14

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  文字列から指定のインスタンスにアクセスするには、仕掛けが必要です。
6
6
 
7
7
  ```java
8
- Map<Strin, Object> mp = new HashMap<>();
8
+ Map<String, Object> mp = new HashMap<>();
9
9
 
10
10
  Shape shape = new Shape("Square");
11
11
  Square square = new Square("Square",4);
@@ -32,4 +32,19 @@
32
32
 
33
33
  System.out.println(str+" "+area);
34
34
 
35
+ ```
36
+
37
+ 普通は、ポリモーフィズムを用いるのでif文は、いりません。
38
+
39
+ ```java
40
+ Map<String, Shape> mp = new HashMap<>();
41
+
42
+ 中略
43
+
44
+ Shape tmp = mp.get(key);
45
+
46
+ String str = tmp != null ? tmp.toString() : "null";
47
+ double area = tmp != null ? tmp.getArea() : -1;
48
+
49
+ System.out.println(str+" "+area);
35
50
  ```