Re: Непонятки с синтаксисом
От: KRA Украина  
Дата: 27.11.08 19:00
Оценка:
Здравствуйте, yvad, Вы писали:

Y>Есть следующая иерархия:


Y>
Y>class A {}
Y>class B extends A {}
    
Y>class LA<T extends A> {}
Y>class LB<T extends B> extends LA<T> {}

Y>


Y>Как скастить LB<B> в LA<A>?


Y>
Y>LB<B> lb = new LB<B>();
Y>LA<A> la = (LA<A>)lb;

Y>


Т.е. нужно привести LA<B> к LA<A>. Этого делать нельзя, это разные типы.
Иначе можно было бы написать такое (на примере List<T>):
List<B> b = ...;

((List<A>)b).add(new A())


А это ясно, что небезопасно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.