teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Fooクラスについて

2018/02/24 14:42

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -10,4 +10,32 @@
10
10
 
11
11
  // 以下省略
12
12
  }
13
+ ```
14
+
15
+ コメント
16
+ > この場合、Fooクラスの記述はどうすればよいですか?
17
+
18
+ 1.コンストラクタでFieldを取り、そのオブジェクトのzero()などを呼び出す
19
+ ```java
20
+ class Foo <T extends <Field<T>>{
21
+
22
+ T field;
23
+
24
+ Foo(T field) {
25
+ this.field = field;
26
+ }
27
+
28
+ int bar(){
29
+ return field.zero().toString().length();
30
+ }
31
+ }
32
+ ```
33
+
34
+ 2.staticメソッドにして、引数でFieldオブジェクトを取るする
35
+ ```java
36
+ class Foo{
37
+ static <T extends Field<T>> int bar(T field){
38
+ return field.zero().toString().length();
39
+ }
40
+ }
13
41
  ```