回答編集履歴
2
表現を修正
test
CHANGED
@@ -2,23 +2,23 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
機能としてはList<String>のように「型を指定して宣言できる
|
5
|
+
機能としてはList<String>のように「型を指定して宣言できるクラス」というような説明になりますが、ここでポイントとなるのは**「List」はStringだけでなくIntegerでもCharactorでも使える=汎用である**ということです。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列
|
9
|
+
「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列クラスが決まっていたとします。
|
10
10
|
|
11
|
-
ただその場合、自分でクラスを作った場合、そのクラスを格納するような
|
11
|
+
ただその場合、自分でクラスを作った場合、そのクラスを格納するようなクラスは自分で作ったりする必要があります。
|
12
12
|
|
13
|
-
それはそれでプログラミングはできるのですが、できれば一
|
13
|
+
それはそれでプログラミングはできるのですが、できれば一律のクラスで、「格納できる要素の型」を指定できたほうが便利だと思いませんか。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
というわけでStringでもIntegerでも自作クラスでも格納することができるような「汎用
|
17
|
+
というわけでStringでもIntegerでも自作クラスでも格納することができるような「汎用クラス」という考え方が必要とされます。
|
18
18
|
|
19
19
|
これがジェネリクスという考え方です。
|
20
20
|
|
21
|
-
で、それを実現するために用意されたのが「ジェネリッククラス」List等の
|
21
|
+
で、それを実現するために用意されたのが「ジェネリッククラス」List等のクラスというわけです。ただし「ジェネリッククラス」という呼び方は通称ではないかと思います。
|
22
22
|
|
23
23
|
|
24
24
|
|
1
表現を一部修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列オブジェクトが決まっていたとします。
|
10
10
|
|
11
|
-
ただその場合、自分でクラスを作った場合、そのクラスを格納するような配列オブジェクトは自分で作った
|
11
|
+
ただその場合、自分でクラスを作った場合、そのクラスを格納するような配列オブジェクトは自分で作ったりする必要があります。
|
12
12
|
|
13
13
|
それはそれでプログラミングはできるのですが、できれば一つの配列オブジェクトで、「格納できる要素の型」を指定できたほうが便利だと思いませんか。
|
14
14
|
|
@@ -18,8 +18,8 @@
|
|
18
18
|
|
19
19
|
これがジェネリクスという考え方です。
|
20
20
|
|
21
|
-
で、それを実現するために用意されたのが「ジェネリッククラス」List等の配列オブジェクトというわけです。
|
21
|
+
で、それを実現するために用意されたのが「ジェネリッククラス」List等の配列オブジェクトというわけです。ただし「ジェネリッククラス」という呼び方は通称ではないかと思います。
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
そう考えると、
|
25
|
+
そう考えると、途端に「List<String>」というような宣言方法が便利だなと思えるのではないかと思います。最初に宣言しておけば、どんな型だって自由自在に格納できて、Listの持つlength等のプロパティやメソッドも使い放題なわけです。
|