回答編集履歴

2

コード追加。

2017/08/21 04:58

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -31,3 +31,49 @@
31
31
  ```
32
32
 
33
33
 
34
+
35
+ ```kotlin
36
+
37
+ open class Base() {}
38
+
39
+ class A: Base() {}
40
+
41
+ class B: Base() {}
42
+
43
+
44
+
45
+ fun checkSubclass(x: Base) {
46
+
47
+ var isString = when (x) {
48
+
49
+ is A -> "A"
50
+
51
+ is B -> "B"
52
+
53
+ else -> "Others"
54
+
55
+ }
56
+
57
+ println(isString)
58
+
59
+ }
60
+
61
+
62
+
63
+ fun main(args: Array<String>) {
64
+
65
+ checkSubclass(A()) //=> A
66
+
67
+ checkSubclass(B()) //=> B
68
+
69
+ }
70
+
71
+ ```
72
+
73
+
74
+
75
+ [Try Kotlin](https://try.kotlinlang.org/)で動作確認しました。
76
+
77
+
78
+
79
+

1

Any削除でコード追加。

2017/08/21 04:58

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1 +1,33 @@
1
- Anyの判定とか、サブクラスの判定とか?
1
+ サブクラスの判定とか?
2
+
3
+
4
+
5
+ ```kotlin
6
+
7
+ fun checkString(x: Any) {
8
+
9
+ var isString = when (x) {
10
+
11
+ is String -> "String"
12
+
13
+ else -> "Others"
14
+
15
+ }
16
+
17
+ println(isString)
18
+
19
+ }
20
+
21
+
22
+
23
+ fun main(args: Array<String>) {
24
+
25
+ checkString("hogehoge") //=> String
26
+
27
+ checkString(999) //=> Others
28
+
29
+ }
30
+
31
+ ```
32
+
33
+