2014-10-16 89 views
0

爲什麼我不能聲明一個實現多個接口/類的泛型的字段?具有多種泛型的字段

class MyClass { 
    private Class<? extends Enum<?> & Foo> bar; 
    //.. 
} 

interface Foo { 
    // ... 
} 

public enum A implements Foo { 
    // ... 
} 

編譯器錯誤:Syntax error on token &

+4

'String'是'final'類,所以沒有什麼可以'擴展'它。 – dasblinkenlight 2014-10-16 19:23:13

+0

編譯器錯誤是明確的。 – 2014-10-16 19:24:14

+0

ID不能與Enum一起使用 – Nutel 2014-10-16 19:25:38

回答

0

問題回答here

總之,並從java language specification引述:

4.9交叉口類型的交叉點型的形式爲T1 & ... Tn的&,N> 0,其中,Ti,1英寸,是類型表達式。交集類型出現在捕獲轉換(§5.1.10)和類型推斷(§15.12.2.7)的過程中。作爲程序的一部分不可能直接編寫交集類型;沒有語法支持這一點。交點類型的值是那些對於1in的所有類型Ti的值的對象。