我想了解爲什麼這段代碼不會編譯。
我有一個類實現一個接口。由於某種原因,最後的方法不會編譯。Java拋出與SortedSet異常
它不會簡單地允許我將集合轉換爲集合,但確實允許它返回單個對象。
有人可以向我解釋爲什麼這是?謝謝。
public class Testing2 {
public SortedSet<ITesting> iTests = new TreeSet<ITesting>();
public SortedSet<Testing> tests = new TreeSet<Testing>();
public ITesting iTest = null;
public ITesting test = new Testing();
// Returns the implementing class as expected
public ITesting getITesting(){
return this.test;
}
// This method will not compile
// Type mismatch: cannot convert from SortedSet<Testing> to SortedSet<ITesting>
public SortedSet<ITesting> getITests(){
return this.tests;
}
}
你會編輯你的問題,包括確切的編譯器信息嗎?編輯:另外,它看起來像測試實現ITesting? – 2013-02-28 21:44:02
是的,對不起。測試實現ITesting – Marley 2013-02-28 21:48:05
看起來像http://stackoverflow.com/questions/897935/when-do-java-generics-require-extends-t-instead-of-t-and-is-there-any-down的副本 – 2013-02-28 21:49:36