오늘 흥미로운 문제가 발생했습니다. 다음 코드를 고려하십시오.제네릭 세트를 캐스팅 할 수 없습니까?
public static class Parent {}
public static class Child extends Parent {}
Set<Child> childs = new HashSet();
Set<Parent> parents = (Set<Parent>)childs; //Error: inconvertible types
Parent parent = (Parent)new Child(); //works?!
왜 그와 같은 캐스트가 좋지 않습니까? 암시 적 캐스트는 제네릭의 다양한 규칙으로 인해 작동하지 않을 것이라고 기대하지만 명시 적 캐스트는 왜 작동하지 않을까요?
당신이'HashSet의을 말한다면'이 될 수 있습니다. –
@ahmet say'HashSet'_where? _ –