我试图理解为什么这段代码无法编译。
我有一个实现接口的类。最后一种方法由于某种原因无法编译。
它不仅允许我将集合转换为集合,而且允许它很好地返回单个对象。
有人可以向我解释这是为什么吗?谢谢。
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;
}
}