簡體   English   中英

將A.Class傳遞到公共B(Class <? extends C> )當A實現C

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM