質問編集履歴
4
誤っていた個所を削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,44 +60,6 @@
|
|
60
60
|
|
61
61
|
|
62
62
|
|
63
|
-
クラスBのジェネリクスを外すとコンパイルは通ります。
|
64
|
-
|
65
|
-
```B.java:Java
|
66
|
-
|
67
|
-
//これで通る
|
68
|
-
|
69
|
-
public class B extends A<T>{
|
70
|
-
|
71
|
-
}
|
72
|
-
|
73
|
-
```
|
74
|
-
|
75
|
-
また、メソッドの引数のワイルドカードを<? extend A>に変更することでも(警告は出るものの)コンパイルは通りました。
|
76
|
-
|
77
|
-
```main.java:Java
|
78
|
-
|
79
|
-
public class main{
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
public void test(Class<? extends A> c) {
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
}
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
public void main() {
|
92
|
-
|
93
|
-
test(B.class);
|
94
|
-
|
95
|
-
}
|
96
|
-
|
97
|
-
}
|
98
|
-
|
99
|
-
```
|
100
|
-
|
101
63
|
|
102
64
|
|
103
65
|
なぜこういう挙動になるのかがいまいち理解できません。
|
3
エラー内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
|
55
55
|
```Java
|
56
56
|
|
57
|
-
The method test(Class<? extends
|
57
|
+
The method test(Class<? extends A<?>>) in the type main is not applicable for the arguments (Class<B>)Java(67108979)
|
58
58
|
|
59
59
|
```
|
60
60
|
|
2
コンパイルエラーの内容を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,6 +50,16 @@
|
|
50
50
|
|
51
51
|
```
|
52
52
|
|
53
|
+
(追記)コンパイルエラーの内容は以下です。
|
54
|
+
|
55
|
+
```Java
|
56
|
+
|
57
|
+
The method test(Class<? extends test3<?>>) in the type test1 is not applicable for the arguments (Class<test2>)Java(67108979)
|
58
|
+
|
59
|
+
```
|
60
|
+
|
61
|
+
|
62
|
+
|
53
63
|
クラスBのジェネリクスを外すとコンパイルは通ります。
|
54
64
|
|
55
65
|
```B.java:Java
|
1
タグの追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|