質問編集履歴

4

誤っていた個所を削除

2020/10/06 10:47

投稿

water_coffee
water_coffee

スコア7

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

エラー内容修正

2020/10/06 10:46

投稿

water_coffee
water_coffee

スコア7

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  ```Java
56
56
 
57
- The method test(Class<? extends test3<?>>) in the type test1 is not applicable for the arguments (Class<test2>)Java(67108979)
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

コンパイルエラーの内容を追記

2019/12/02 00:09

投稿

water_coffee
water_coffee

スコア7

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

タグの追加

2019/12/01 23:37

投稿

water_coffee
water_coffee

スコア7

test CHANGED
File without changes
test CHANGED
File without changes