How do you cast a List of supertypes to a List of subtypes?

前端 未结 17 1270
面向向阳花
面向向阳花 2020-11-22 08:43

For example, lets say you have two classes:

public class TestA {}
public class TestB extends TestA{}

I have a method that returns a L

17条回答
  •  隐瞒了意图╮
    2020-11-22 09:02

    This is possible due to type erasure. You will find that

    List x = new ArrayList();
    List y = new ArrayList();
    x.getClass().equals(y.getClass()); // true
    

    Internally both lists are of type List. For that reason you can't cast one to the other - there is nothing to cast.

    提交回复
    热议问题