回答編集履歴

1

Fooクラスについて

2018/02/24 14:42

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -23,3 +23,59 @@
23
23
  }
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ コメント
30
+
31
+ > この場合、Fooクラスの記述はどうすればよいですか?
32
+
33
+
34
+
35
+ 1.コンストラクタでFieldを取り、そのオブジェクトのzero()などを呼び出す
36
+
37
+ ```java
38
+
39
+ class Foo <T extends <Field<T>>{
40
+
41
+
42
+
43
+ T field;
44
+
45
+
46
+
47
+ Foo(T field) {
48
+
49
+ this.field = field;
50
+
51
+ }
52
+
53
+
54
+
55
+ int bar(){
56
+
57
+ return field.zero().toString().length();
58
+
59
+ }
60
+
61
+ }
62
+
63
+ ```
64
+
65
+
66
+
67
+ 2.staticメソッドにして、引数でFieldオブジェクトを取るする
68
+
69
+ ```java
70
+
71
+ class Foo{
72
+
73
+ static <T extends Field<T>> int bar(T field){
74
+
75
+ return field.zero().toString().length();
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```