Здравствуйте товарищи программисты,Casting (?) Известный суперкласс объекта к неизвестному ссылки подкласса
Я работаю над проектом Java прямо сейчас, и я пытаюсь бросить известный суперкласс в неизвестном подкласса.
Вот код:
public void getShirtType(Person person) {
Clothing article; // Clothing is a superclass of different subclasses of Clothing
for(Clothing clothing : person.getClothing()) { // person.getClothing() returns List<Clothing>
if(clothing.hasSleeves()) { // hasSleeves() is boolean
article = ???;
break;
}
}
}
Этот код получает первый экземпляр предмета одежды с рукавами и затем завершает цикл.
Не знаю, что помещать в местах размещения вопросительных знаков. Обычно у меня может быть что-то вроде article = (SleevedShirt) clothing;
, но помимо SleevedShirt есть разные подклассы, которые могут входить в круглые скобки.
Дайте мне знать, что вы думаете.
Кроме того, я в основном новичок, поэтому я бы не отказался от конструктивного крицизма, связанного с моим кодом, если вы были готовы его предложить.
Как насчет 'article = clothing;', так как 'article' также является типом' Одежда'? Никакой бросок не нужен. – Andreas
Это так просто? Хорошо, я попробую. Благодарю. –