![](/img/trans.png)
[英]Class C implements interface B which extends interface A, can you say C implements A?
[英]Pass A.Class into public B(Class<? extends C>) when A implements C
我有一個具有以下聲明的函數B:
public void B(Class<? extends C> clazz);
我有一個A類和C類,看起來像這樣:
public interface C {}
public class A implements C{}
我想這樣做:
B(A.class);
但是Java希望我這樣做(然后抱怨未經檢查的強制轉換)
B( (Class<? extends C>)A.class );
我如何向Java指出這都是類型安全的?
為我工作:
interface C {}
class A implements C {}
public class Test {
private static void foo(Class<? extends C> clazz) {
}
public static void main(String[] args) {
foo(A.class);
}
}
也許您可以發布一個簡短而完整的失敗示例?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.