마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ArrayList 형변환을 하고싶습니다.

0 추천
부모 A

extends.

자식 B

 

현재 ArrayList<A> list = new ArrayList<A>();

list.add(new B);

이렇게 한 10개를 넣어놓고

 

ArrayList<B> listB = (B)list;

이렇게 하니 형변환이 되지 않습니다.

ArrayList<B>의 형태로 형변환을 하려하면 어찌 해야 되나요?
갸아악 (21,260 포인트) 님이 2013년 5월 2일 질문

2개의 답변

0 추천
for 문 돌리시면서 하나하나 추가하셔야합니다

 

 

매개변수는 캐스팅이 불가능합니다
GozaMaker (4,740 포인트) 님이 2013년 5월 3일 답변
0 추천
B가 A를 포함하고 있는데 ArrayList<A>로 만들어야하는이유가 있나요?

 

처음부터 ArrayList<B>로 만들면 될것같은데요.
얼룩돼지 (15,720 포인트) 님이 2013년 5월 3일 답변
부모형으로 자식 멤버변수를 쓸수가 없어서요...
A extends B
ArrayList<B> arrB = new ArrayList<B>();
arrB.add(new A());
A a = (A)arrB.get(0);
이런식으로 사용하면 될것 같은데요..
...