我想弄清楚如何讓仿製藥跳過籃球。泛型益智遊戲
我:
interface Root { }
interface Middle extends Root { }
class Type implements Root { }
而且許多 「亞型」 類:
class Subtype1 extends Type implements Middle { }
class Subtype2 extends Type implements Middle { }
...
我想是聲明一個類有兩個類型參數T
和S
,其中T
由Type
約束S
受T
和Middle
的約束。
我看不出用泛型的方式來確保S
擴展爲T
AND的實現Middle
。 我想是這樣的:
class Handler<T extends Root, S extends T, S extends Middle>;
或
class Handler<T extends Root, S extends <T extends Middle>>;
當然沒有,但都是合法的。也許我錯過了一些魔法?
你不能這樣做。你可以有多個界限,但它們必須是0-1級別加多個界面。您不能在多重綁定情況下使用通用類型。我懷疑這個限制是被保留的,因爲允許在多個邊界中輸入類型會爲語法檢查器帶來很多複雜性,這是一種罕見的邊緣情況。 – BevynQ 2013-03-28 00:06:04
相關:http://stackoverflow.com/a/13261667/697449 – 2013-03-28 00:13:28
謝謝。這也是我的看法,但認爲有可能我錯過了規範中的某些東西。演員就是這樣! – 2013-03-28 00:29:11