java如何替换“instanceof”函数中的变量
我的java项目中有以下类Wheels
,Engine
,Brake
,它们都实现了CarPart
创建的对象存储在ArrayList<CarPart> parts
变量中
我想检查三件事:
- 我的车有轮子吗李>
- 我的车有发动机吗李>
- 我的车有刹车吗李>
我可以编写hasWheels
函数,然后再编写完全相同的代码,但用Engine
替换轮子,然后用Brake
替换轮子。这都是重复的代码。有没有一种方法可以将参数传递给像doesArrayContain(parts, Wheels)
这样的函数
public boolean hasWheels(ArrayList<CarPart> parts) {
for (CarPart part : parts) {
if (part instanceof Wheels)
return false;
}
return true;
}
像这样的
public boolean doesArrayContain(ArrayList<CarPart> parts, Type type) {
for (CarPart part : parts) {
if (part instanceof type)
return false;
}
return true;
}
共 (0) 个答案