Hello其他程序员,
我正在研究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之外还有各种不同的子类可以进入括号内。
让我知道你的想法。
另外,我主要是初学者,所以如果你愿意提供它,我不介意与我的代码相关的建设性的讽刺。
答案 0 :(得分:0)
无需将广告投放到(SleevedShirt)
article = clothing;
应该足够了。