java中与铸造相关的问题

java中与铸造相关的问题,java,inheritance,casting,Java,Inheritance,Casting,考虑以下代码: public class ListDemo { List<Inner> inners; public ListDemo() { this.inners = new ArrayList<>(); } private void load(){ SomeClzz.load(inners); } private class Inner implements TestInterf

考虑以下代码:

public class ListDemo {

    List<Inner> inners;

    public ListDemo() {
        this.inners = new ArrayList<>();
    }

    private void load(){
        SomeClzz.load(inners);
    }

    private class Inner implements TestInterface {

        @Override
        public void bla() {
            System.out.println("Bla");
        }

    }
}
班级:

public class SomeClzz {
    public static void load(List<TestInterface> test){
        for (TestInterface testInterface : test) {
            testInterface.bla();
        }
    }
}
公共类SomeClzz{
公共静空荷载(列表试验){
for(TestInterface TestInterface:test){
testInterface.bla();
}
}
}
我根据一个真实的示例创建了这个伪代码,因为我想看看是否可以隔离这个问题,并发现load方法有错误


为什么
SomeClzz.load(inners)
给出了一个错误,无法将inners从
列表
转换为
列表

简单的更改将使其正常工作:

public static void load(List<? extends TestInterface> test){
    for (TestInterface testInterface : test) {
        testInterface.bla();
    }
}

publicstaticvoidload(列表它给出了什么错误?@nickb我编辑了这个问题以指定错误
public static void load(List<? extends TestInterface> test){
    for (TestInterface testInterface : test) {
        testInterface.bla();
    }
}