簡體   English   中英

如何在單個對象上接受泛型參數的超類型?

[英]How can I accept a supertype of generic parameter on a single object?

是否可以僅接受類的泛型Type的超類型?

我正在尋找的是這樣的:

class <T extends Object> MyClass {

    public <TS super T> void myMethod(TS someObjectSuperToTheClass) {
         //do stuff
    }

}

我真的不再需要它了(開始時可能並沒有那么有用),但是我很好奇這是否可能,為什么?

考慮一下在這種情況下的含義。

您想斷言TST或其任何超類。 但是由於TS只是一個引用,所以實際的someObjectSuperToTheClass參數可以是TS或子類。

將這兩個部分放在一起,您的代碼完全等同於

public void myMethod(Object someObjectSuperToTheClass) { //do stuff }

自從在一起以來,您已經知道TS可以沿類層次結構向上移動,而參數可以沿其所需層級向下移動。

嘗試使用這種語法將參數限制為什么?

你不能! 只有通配符可以具有super綁定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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