我有一個奇怪的Java泛型歧義的行爲我無法解釋:泛型歧義與& - 運算符和秩序
這3種方法類:
public static <E extends ClassA & ClassB> void method(E val) {}
public static <E extends ClassC & ClassB & ClassA> void method(E val) {}
public static <E extends ClassB> void method(E val) {}
編譯罰款。
但那些沒有(歧義衝突):
public static <E extends ClassA & ClassB> void method(E val) {}
public static <E extends ClassB & ClassC & ClassA> void method(E val) {}
public static <E extends ClassB> void method(E val) {}
(!ClassA的,ClassB的,ClassC都是完全獨立的接口)
通過'Class',我認爲你的意思是界面? – SLaks
+1我今天學到了一些新東西。 – SLaks