回答編集履歴

2

追記

2022/06/27 23:27

投稿

shiketa
shiketa

スコア3971

test CHANGED
@@ -46,3 +46,33 @@
46
46
 
47
47
  どうしてもClass#cast()をつかいたいのであれば、`final Z z = Z.class.cast(obj);` とすればいい。
48
48
 
49
+
50
+ ----
51
+
52
+ ----
53
+
54
+ ----
55
+
56
+ 追記。
57
+
58
+ > カスタムクラスの種類を判別するユニークなIDも付与されます。
59
+
60
+ 文言に振り回され過ぎた。instanceofでいいじゃん。
61
+
62
+ ```java
63
+ class Controller {
64
+ public void hoge(final A obj) {
65
+ if ( obj instanceof X ) {
66
+ final X x = (X)obj;
67
+ ...
68
+ } else if ( obj instanceof Y ) {
69
+ final Y y = (Y)obj;
70
+ ...
71
+ } else if ( obj instanceof Z ) {
72
+ final Z z = (Z)obj;
73
+ ...
74
+ } else ...
75
+ }
76
+ }
77
+ ```
78
+

1

typo

2022/06/26 23:49

投稿

shiketa
shiketa

スコア3971

test CHANGED
@@ -44,5 +44,5 @@
44
44
  }
45
45
  ```
46
46
 
47
- どうしてもClass#cast()をつかたいのであれば、`final Z z = Z.classs.cast(obj);` とすればいい。
47
+ どうしてもClass#cast()をつかたいのであれば、`final Z z = Z.class.cast(obj);` とすればいい。
48
48