このコードがコンパイルされない理由を理解しようとしています。
インターフェイスを実装するクラスがあります。最後のメソッドは、何らかの理由でコンパイルされません。
セットをセットとしてキャストするだけでなく、単一のオブジェクトを正常に返すことができます。
誰かが私にこれがなぜであるか説明してもらえますか?ありがとう。
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;
}
}