回答編集履歴
2
追記
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
test
CHANGED
@@ -44,5 +44,5 @@
|
|
44
44
|
}
|
45
45
|
```
|
46
46
|
|
47
|
-
どうしてもClass#cast()をつかたいのであれば、`final Z z = Z.class
|
47
|
+
どうしてもClass#cast()をつかいたいのであれば、`final Z z = Z.class.cast(obj);` とすればいい。
|
48
48
|
|